From b6d8fdbea3d096da20ac6b4873b5cb3851812732 Mon Sep 17 00:00:00 2001 From: Kaijun Zhang Date: Wed, 1 Apr 2026 13:40:13 -0400 Subject: [PATCH 1/2] -cherrypick: custom topic Signed-off-by: Kaijun Zhang --- doc-site/docs/swagger/swagger.yaml | 36564 +++++++++------- .../route_post_contract_api_publish.go | 3 +- .../route_post_contract_api_publish_test.go | 21 +- .../route_post_contract_interface_publish.go | 3 +- ...te_post_contract_interface_publish_test.go | 21 +- .../apiserver/route_post_new_contract_api.go | 3 +- .../route_post_new_contract_api_test.go | 23 +- .../route_post_new_contract_interface.go | 3 +- .../route_post_new_contract_interface_test.go | 23 +- internal/apiserver/route_put_contract_api.go | 3 +- .../apiserver/route_put_contract_api_test.go | 23 +- internal/coremsgs/en_api_translations.go | 2 + internal/definitions/sender.go | 31 +- internal/definitions/sender_contracts.go | 24 +- internal/definitions/sender_contracts_test.go | 126 +- internal/definitions/sender_datatype.go | 2 +- internal/definitions/sender_identity.go | 6 +- internal/definitions/sender_test.go | 6 +- internal/definitions/sender_tokenpool.go | 2 +- mocks/definitionsmocks/sender.go | 56 +- 20 files changed, 21105 insertions(+), 15840 deletions(-) diff --git a/doc-site/docs/swagger/swagger.yaml b/doc-site/docs/swagger/swagger.yaml index 96668c639a..c9cab4daf0 100644 --- a/doc-site/docs/swagger/swagger.yaml +++ b/doc-site/docs/swagger/swagger.yaml @@ -9,72 +9,76 @@ paths: description: Gets a list of contract APIs that have been published operationId: getContractAPIs parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: networkname - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: published - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: networkname + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: published + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -89,7 +93,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -106,31 +111,36 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true type: string name: - description: The name that is used in the URL to access the + description: + The name that is used in the URL to access the API type: string namespace: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -140,11 +150,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -154,37 +166,47 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates and broadcasts a new custom smart contract API operationId: postNewContractAPI parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -201,7 +223,8 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of a + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -211,7 +234,8 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string type: object @@ -227,7 +251,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -244,14 +269,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -263,11 +290,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -277,11 +306,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -298,7 +329,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -315,14 +347,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -334,11 +368,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -348,11 +384,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -361,25 +399,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}: delete: description: Delete a contract API operationId: deleteContractAPI parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -388,25 +427,27 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: - description: Gets information about a contract API, including the URLs for the + description: + Gets information about a contract API, including the URLs for the OpenAPI Spec and Swagger UI for the API operationId: getContractAPIByName parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -419,7 +460,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -436,14 +478,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -455,11 +499,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -469,11 +515,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -482,38 +530,40 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace put: description: The ID of the contract API operationId: putContractAPI parameters: - - description: The name of the contract API - in: path - name: id - required: true - schema: - example: id - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: id + required: true + schema: + example: id + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -530,7 +580,8 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of a + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -540,7 +591,8 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string type: object @@ -556,7 +608,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -573,14 +626,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -592,11 +647,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -606,11 +663,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -627,7 +686,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -644,14 +704,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -663,11 +725,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -677,11 +741,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -690,25 +756,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/interface: get: description: Gets a contract interface for a contract API operationId: getContractAPIInterface parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -733,7 +800,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -751,12 +819,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -766,11 +836,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -786,10 +858,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -799,7 +873,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -817,12 +892,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -832,24 +909,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -865,10 +946,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -878,7 +961,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -896,12 +980,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -911,7 +997,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -922,12 +1009,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -939,22 +1028,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -962,90 +1055,102 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/invoke/{methodPath}: post: - description: Invokes a method on a smart contract API. Performs a blockchain + description: + Invokes a method on a smart contract API. Performs a blockchain transaction. operationId: postContractAPIInvoke parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: You can specify a message to correlate with the invocation, + description: + You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -1053,7 +1158,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -1063,39 +1169,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -1103,25 +1216,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -1131,50 +1248,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -1182,9 +1304,11 @@ paths: type: object options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -1200,7 +1324,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -1218,16 +1343,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -1237,7 +1365,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -1245,21 +1374,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -1279,7 +1408,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -1297,16 +1427,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -1316,7 +1449,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -1324,21 +1458,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -1350,121 +1484,126 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/listeners/{eventPath}: get: description: Gets a list of contract listeners operationId: getContractAPIListeners parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: backendid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: filters - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: location - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: signature - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: backendid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: filters + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: location + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: signature + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -1474,7 +1613,8 @@ paths: nullable: true properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -1483,8 +1623,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'event' in the array + of 'filters' instead" nullable: true properties: description: @@ -1492,10 +1632,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -1509,12 +1651,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -1525,19 +1669,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -1547,11 +1694,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -1560,21 +1709,25 @@ paths: description: The name of the event type: string params: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -1586,7 +1739,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -1604,13 +1758,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -1621,8 +1777,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -1638,35 +1795,41 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -1677,40 +1840,44 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: - description: Creates a new blockchain listener for events emitted by custom + description: + Creates a new blockchain listener for events emitted by custom smart contracts operationId: postContractAPIListeners parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: 'Deprecated: Please use ''event'' in the array of ''filters'' - instead' + description: + "Deprecated: Please use 'event' in the array of 'filters' + instead" nullable: true properties: description: @@ -1718,10 +1885,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -1735,12 +1904,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -1751,27 +1922,31 @@ paths: type: array type: object location: - description: 'Deprecated: Please use ''location'' in the array of - ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array of + 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: Options that control how the listener subscribes to + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block number, + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -1784,7 +1959,8 @@ paths: schema: properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -1793,8 +1969,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array of - ''filters'' instead' + description: "Deprecated: Please use 'event' in the array of + 'filters' instead" nullable: true properties: description: @@ -1802,10 +1978,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -1819,12 +1997,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -1835,19 +2015,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -1857,11 +2040,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -1871,18 +2056,21 @@ paths: params: description: An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -1894,7 +2082,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -1912,13 +2101,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -1929,8 +2120,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -1946,35 +2138,40 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -1984,37 +2181,46 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/publish: post: description: Publish a contract API to all other members of the multiparty network operationId: postContractAPIPublish parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: An optional name to be used for publishing this definition + description: + An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -2042,7 +2248,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -2060,12 +2267,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2075,11 +2284,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -2095,10 +2306,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2108,7 +2321,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -2126,12 +2340,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2141,24 +2357,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -2174,10 +2394,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2187,7 +2409,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -2205,12 +2428,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2220,7 +2445,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -2231,12 +2457,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2248,22 +2476,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -2291,7 +2523,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -2309,12 +2542,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2324,11 +2559,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -2344,10 +2581,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2357,7 +2596,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -2375,12 +2615,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2390,24 +2632,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -2423,10 +2669,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2436,7 +2684,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -2454,12 +2703,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2469,7 +2720,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -2480,12 +2732,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2497,22 +2751,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -2520,68 +2778,78 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/query/{methodPath}: post: - description: Queries a method on a smart contract API. Performs a read-only + description: + Queries a method on a smart contract API. Performs a read-only query. operationId: postContractAPIQuery parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -2596,113 +2864,355 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace + /apis/{id}: + put: + description: The ID of the contract API + operationId: putContractAPI + parameters: + - description: The ID of the contract API + in: path + name: id + required: true + schema: + example: id + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + requestBody: + content: + application/json: + schema: + properties: + interface: + description: + Reference to the FireFly Interface definition associated + with the contract API + nullable: true + properties: + id: + description: The UUID of the FireFly interface + format: uuid + nullable: true + type: string + name: + description: The name of the FireFly interface + type: string + version: + description: The version of the FireFly interface + type: string + type: object + location: + additionalProperties: true + description: + If this API is tied to an individual instance of a + smart contract, this field can include a blockchain specific contract + identifier. For example an Ethereum contract address, or a Fabric + chaincode name and channel + nullable: true + type: object + name: + description: The name that is used in the URL to access the API + type: string + networkName: + description: + The published name of the API within the multiparty + network + type: string + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + id: + description: The UUID of the contract API + format: uuid + nullable: true + type: string + interface: + description: + Reference to the FireFly Interface definition associated + with the contract API + nullable: true + properties: + id: + description: The UUID of the FireFly interface + format: uuid + nullable: true + type: string + name: + description: The name of the FireFly interface + type: string + version: + description: The version of the FireFly interface + type: string + type: object + location: + additionalProperties: true + description: + If this API is tied to an individual instance of + a smart contract, this field can include a blockchain specific + contract identifier. For example an Ethereum contract address, + or a Fabric chaincode name and channel + nullable: true + type: object + message: + description: + The UUID of the broadcast message that was used to + publish this API to the network + format: uuid + nullable: true + type: string + name: + description: The name that is used in the URL to access the API + type: string + namespace: + description: The namespace of the contract API + type: string + networkName: + description: + The published name of the API within the multiparty + network + type: string + published: + description: + Indicates if the API is published to other members + of the multiparty network + type: boolean + urls: + description: The URLs to use to access the API + properties: + api: + description: The URL to use to invoke the API + type: string + openapi: + description: + The URL to download the OpenAPI v3 (Swagger) + description for the API generated in JSON or YAML format + type: string + ui: + description: + The URL to use in a web browser to access the + SwaggerUI explorer/exerciser for the API + type: string + type: object + type: object + description: Success + "202": + content: + application/json: + schema: + properties: + id: + description: The UUID of the contract API + format: uuid + nullable: true + type: string + interface: + description: + Reference to the FireFly Interface definition associated + with the contract API + nullable: true + properties: + id: + description: The UUID of the FireFly interface + format: uuid + nullable: true + type: string + name: + description: The name of the FireFly interface + type: string + version: + description: The version of the FireFly interface + type: string + type: object + location: + additionalProperties: true + description: + If this API is tied to an individual instance of + a smart contract, this field can include a blockchain specific + contract identifier. For example an Ethereum contract address, + or a Fabric chaincode name and channel + nullable: true + type: object + message: + description: + The UUID of the broadcast message that was used to + publish this API to the network + format: uuid + nullable: true + type: string + name: + description: The name that is used in the URL to access the API + type: string + namespace: + description: The namespace of the contract API + type: string + networkName: + description: + The published name of the API within the multiparty + network + type: string + published: + description: + Indicates if the API is published to other members + of the multiparty network + type: boolean + urls: + description: The URLs to use to access the API + properties: + api: + description: The URL to use to invoke the API + type: string + openapi: + description: + The URL to download the OpenAPI v3 (Swagger) + description for the API generated in JSON or YAML format + type: string + ui: + description: + The URL to use in a web browser to access the + SwaggerUI explorer/exerciser for the API + type: string + type: object + type: object + description: Success + default: + description: "" + tags: + - Default Namespace /batches: get: description: Gets a list of message batches operationId: getBatches parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: node - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: payloadref - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: node + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: payloadref + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -2725,7 +3235,8 @@ paths: nullable: true type: string group: - description: The privacy group the batch is sent to, for private + description: + The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -2770,8 +3281,8 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object type: array @@ -2779,25 +3290,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /batches/{batchid}: get: description: Gets a message batch operationId: getBatchByID parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -2818,7 +3330,8 @@ paths: nullable: true type: string group: - description: The privacy group the batch is sent to, for private + description: + The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -2863,33 +3376,34 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /batches/{batchid}/cancel: post: description: Cancel a batch that has failed to dispatch operationId: postBatchCancel parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: {} @@ -2901,98 +3415,102 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /blockchainevents: get: description: Gets a list of blockchain events operationId: getBlockchainEvents parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: listener - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: protocolid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: source - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: timestamp - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.blockchainid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: listener + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: protocolid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: source + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: timestamp + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.blockchainid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -3008,13 +3526,16 @@ paths: type: string info: additionalProperties: - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: The UUID of the listener that detected this event, + description: + The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -3023,38 +3544,46 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: The namespace of the listener that detected this + description: + The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: The data output by the event, parsed to JSON + description: + The data output by the event, parsed to JSON according to the interface of the smart contract - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: The blockchain plugin or token service that detected + description: + The blockchain plugin or token service that detected the event type: string timestamp: - description: The time allocated to this event by the blockchain. + description: + The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: If this blockchain event is coorelated to FireFly + description: + If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -3073,25 +3602,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /blockchainevents/{id}: get: description: Gets a blockchain event operationId: getBlockchainEventByID parameters: - - description: The blockchain event ID - in: path - name: id - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blockchain event ID + in: path + name: id + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -3105,13 +3635,16 @@ paths: type: string info: additionalProperties: - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector - description: Detailed blockchain specific information about the + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: The UUID of the listener that detected this event, + description: + The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -3120,38 +3653,46 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: The namespace of the listener that detected this + description: + The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: The blockchain plugin or token service that detected + description: + The blockchain plugin or token service that detected the event type: string timestamp: - description: The time allocated to this event by the blockchain. + description: + The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: If this blockchain event is coorelated to FireFly + description: + If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -3169,42 +3710,44 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /charts/histogram/{collection}: get: - description: Gets a JSON object containing statistics data that can be used + description: + Gets a JSON object containing statistics data that can be used to build a graphical representation of recent activity in a given database collection operationId: getChartHistogram parameters: - - description: The collection ID - in: path - name: collection - required: true - schema: - type: string - - description: Start time of the data to be fetched - in: query - name: startTime - schema: - type: string - - description: End time of the data to be fetched - in: query - name: endTime - schema: - type: string - - description: Number of buckets between start time and end time - in: query - name: buckets - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The collection ID + in: path + name: collection + required: true + schema: + type: string + - description: Start time of the data to be fetched + in: query + name: startTime + schema: + type: string + - description: End time of the data to be fetched + in: query + name: endTime + schema: + type: string + - description: Number of buckets between start time and end time + in: query + name: buckets + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -3214,11 +3757,13 @@ paths: nullable: true properties: count: - description: Total count of entries in this time bucket within + description: + Total count of entries in this time bucket within the histogram type: string isCapped: - description: Indicates whether there are more results in this + description: + Indicates whether there are more results in this bucket that are not being displayed type: boolean timestamp: @@ -3227,15 +3772,18 @@ paths: nullable: true type: string types: - description: Array of separate counts for individual types of + description: + Array of separate counts for individual types of record within the bucket items: - description: Array of separate counts for individual types + description: + Array of separate counts for individual types of record within the bucket nullable: true properties: count: - description: Count of entries of a given type within a + description: + Count of entries of a given type within a bucket type: string type: @@ -3249,32 +3797,34 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/deploy: post: description: Deploy a new smart contract operationId: postContractDeploy parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: contract: - description: The smart contract to deploy. This should be pre-compiled + description: + The smart contract to deploy. This should be pre-compiled if required by the blockchain connector nullable: true type: string @@ -3283,26 +3833,32 @@ paths: nullable: true type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: - description: An optional array of inputs passed to the smart contract's + description: + An optional array of inputs passed to the smart contract's constructor, if applicable items: - description: An optional array of inputs passed to the smart contract's + description: + An optional array of inputs passed to the smart contract's constructor, if applicable type: array key: - description: The blockchain signing key that will be used to deploy + description: + The blockchain signing key that will be used to deploy the contract. Defaults to the first signing key of the organization that operates the node type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -3318,7 +3874,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -3336,16 +3893,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -3355,7 +3915,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -3363,21 +3924,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -3397,7 +3958,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -3415,16 +3977,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -3434,7 +3999,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -3442,21 +4008,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -3468,78 +4034,82 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces: get: description: Gets a list of contract interfaces that have been published operationId: getContractInterfaces parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: networkname - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: published - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: version - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: networkname + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: published + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: version + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -3566,7 +4136,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -3584,13 +4155,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -3601,11 +4174,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -3621,10 +4196,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -3634,7 +4211,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -3652,13 +4230,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -3669,24 +4249,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -3702,10 +4286,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -3715,7 +4301,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -3733,13 +4320,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -3750,7 +4339,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -3761,13 +4351,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -3780,22 +4372,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -3804,30 +4400,39 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates and broadcasts a new custom smart contract interface operationId: postNewContractInterface parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -3855,12 +4460,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -3882,10 +4489,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -3899,12 +4508,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -3926,10 +4537,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -3943,12 +4556,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -3964,12 +4579,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -3981,15 +4598,18 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart contract + description: + The name of the FFI - usually matching the smart contract name type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -4017,7 +4637,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -4035,12 +4656,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4050,11 +4673,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -4070,10 +4695,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4083,7 +4710,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -4101,12 +4729,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4116,24 +4746,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -4149,10 +4783,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4162,7 +4798,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -4180,12 +4817,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4195,7 +4834,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -4206,12 +4846,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4223,22 +4865,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -4246,25 +4892,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/{interfaceId}: delete: description: Delete a contract interface operationId: deleteContractInterface parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -4273,31 +4920,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a contract interface by its ID operationId: getContractInterface parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: + When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -4322,7 +4971,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -4340,12 +4990,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4355,11 +5007,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -4375,10 +5029,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4388,7 +5044,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -4406,12 +5063,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4421,24 +5080,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -4454,10 +5117,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4467,7 +5132,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -4485,12 +5151,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4500,7 +5168,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -4511,12 +5180,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4528,22 +5199,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -4551,38 +5226,40 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/{name}/{version}: get: description: Gets a contract interface by its name and version operationId: getContractInterfaceByNameAndVersion parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: + When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -4607,7 +5284,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -4625,12 +5303,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4640,11 +5320,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -4660,10 +5342,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4673,7 +5357,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -4691,12 +5376,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4706,24 +5393,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -4739,10 +5430,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4752,7 +5445,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -4770,12 +5464,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4785,7 +5481,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -4796,12 +5493,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4813,22 +5512,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -4836,44 +5539,54 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/{name}/{version}/publish: post: - description: Publish a contract interface to all other members of the multiparty + description: + Publish a contract interface to all other members of the multiparty network operationId: postContractInterfacePublish parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: An optional name to be used for publishing this definition + description: + An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -4901,7 +5614,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -4919,12 +5633,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4934,11 +5650,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -4954,10 +5672,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4967,7 +5687,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -4985,12 +5706,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5000,24 +5723,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -5033,10 +5760,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5046,7 +5775,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -5064,12 +5794,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5079,7 +5811,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -5090,12 +5823,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5107,22 +5842,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -5150,7 +5889,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -5168,12 +5908,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5183,11 +5925,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -5203,10 +5947,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5216,7 +5962,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -5234,12 +5981,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5249,24 +5998,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -5282,10 +6035,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5295,7 +6050,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -5313,12 +6069,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5328,7 +6086,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -5339,12 +6098,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5356,22 +6117,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -5379,33 +6144,37 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/generate: post: - description: A convenience method to convert a blockchain specific smart contract + description: + A convenience method to convert a blockchain specific smart contract format into a FireFly Interface format. The specific blockchain plugin in use must support this functionality. operationId: postGenerateContractInterface parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: The description of the FFI to be generated. Defaults + description: + The description of the FFI to be generated. Defaults to the description extracted by the blockchain specific converter utility type: string input: - description: A blockchain connector specific payload. For example + description: + A blockchain connector specific payload. For example in Ethereum this is a JSON structure containing an 'abi' array, and optionally a 'devdocs' array. nullable: true @@ -5444,7 +6213,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -5462,12 +6232,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5477,11 +6249,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -5497,10 +6271,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5510,7 +6286,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -5528,12 +6305,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5543,24 +6322,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -5576,10 +6359,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5589,7 +6374,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -5607,12 +6393,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5622,7 +6410,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -5633,12 +6422,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5650,22 +6441,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -5673,36 +6468,40 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/invoke: post: description: Invokes a method on a smart contract. Performs a blockchain transaction. operationId: postContractInvoke parameters: - - description: When true the HTTP request blocks until the blockchain transaction - is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + When true the HTTP request blocks until the blockchain transaction + is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -5719,12 +6518,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -5736,22 +6537,26 @@ paths: type: object type: array idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: The UUID of a method within a pre-configured FireFly + description: + The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -5760,36 +6565,42 @@ paths: nullable: true type: string key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: You can specify a message to correlate with the invocation, + description: + You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -5797,7 +6608,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -5807,39 +6619,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -5847,25 +6666,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -5875,57 +6698,63 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: An in-line FFI method definition for the method to + description: + An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -5934,10 +6763,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5951,12 +6782,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -5972,12 +6805,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -5992,9 +6827,11 @@ paths: type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -6010,7 +6847,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -6028,16 +6866,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -6047,7 +6888,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -6055,21 +6897,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -6089,7 +6931,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -6107,16 +6950,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -6126,7 +6972,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -6134,21 +6981,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -6160,108 +7007,112 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/listeners: get: description: Gets a list of contract listeners operationId: getContractListeners parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: backendid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: filters - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: location - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: signature - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: backendid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: filters + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: location + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: signature + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -6271,7 +7122,8 @@ paths: nullable: true properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -6280,8 +7132,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'event' in the array + of 'filters' instead" nullable: true properties: description: @@ -6289,10 +7141,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6306,12 +7160,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -6322,19 +7178,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -6344,11 +7203,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -6357,21 +7218,25 @@ paths: description: The name of the event type: string params: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -6383,7 +7248,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -6401,13 +7267,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -6418,8 +7286,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -6435,35 +7304,41 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -6474,27 +7349,30 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: - description: Creates a new blockchain listener for events emitted by custom + description: + Creates a new blockchain listener for events emitted by custom smart contracts operationId: postNewContractListener parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: 'Deprecated: Please use ''event'' in the array of ''filters'' - instead' + description: + "Deprecated: Please use 'event' in the array of 'filters' + instead" nullable: true properties: description: @@ -6502,10 +7380,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6519,12 +7399,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -6535,23 +7417,26 @@ paths: type: array type: object eventPath: - description: 'Deprecated: Please use ''eventPath'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'eventPath' in the array + of 'filters' instead" type: string filters: - description: A list of filters for the contract listener. Each filter + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -6561,10 +7446,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6578,13 +7465,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -6596,12 +7485,14 @@ paths: type: array type: object eventPath: - description: When creating a listener from an existing FFI, + description: + When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -6619,7 +7510,8 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. For + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -6627,8 +7519,8 @@ paths: type: object type: array interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -6644,27 +7536,31 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array of - ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array of + 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: Options that control how the listener subscribes to + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block number, + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -6677,7 +7573,8 @@ paths: schema: properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -6686,8 +7583,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array of - ''filters'' instead' + description: "Deprecated: Please use 'event' in the array of + 'filters' instead" nullable: true properties: description: @@ -6695,10 +7592,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6712,12 +7611,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -6728,19 +7629,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -6750,11 +7654,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6764,18 +7670,21 @@ paths: params: description: An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -6787,7 +7696,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -6805,13 +7715,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -6822,8 +7734,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -6839,35 +7752,40 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -6877,25 +7795,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/listeners/{nameOrId}: delete: description: Deletes a contract listener referenced by its name or its ID operationId: deleteContractListener parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -6904,31 +7823,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a contract listener by its name or ID operationId: getContractListenerByNameOrID parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: + When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -6936,7 +7857,8 @@ paths: schema: properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -6945,8 +7867,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array of - ''filters'' instead' + description: "Deprecated: Please use 'event' in the array of + 'filters' instead" nullable: true properties: description: @@ -6954,10 +7876,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6971,12 +7895,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -6987,19 +7913,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -7009,11 +7938,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7023,18 +7954,21 @@ paths: params: description: An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -7046,7 +7980,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -7064,13 +7999,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -7081,8 +8018,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -7098,35 +8036,40 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -7136,27 +8079,29 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/listeners/signature: post: description: Calculates the hash of a blockchain listener filters and events operationId: postContractListenerSignature parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: 'Deprecated: Please use ''event'' in the array of ''filters'' - instead' + description: + "Deprecated: Please use 'event' in the array of 'filters' + instead" nullable: true properties: description: @@ -7164,10 +8109,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7181,12 +8128,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -7197,23 +8146,26 @@ paths: type: array type: object eventPath: - description: 'Deprecated: Please use ''eventPath'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'eventPath' in the array + of 'filters' instead" type: string filters: - description: A list of filters for the contract listener. Each filter + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -7223,10 +8175,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7240,13 +8194,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -7258,12 +8214,14 @@ paths: type: array type: object eventPath: - description: When creating a listener from an existing FFI, + description: + When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -7281,7 +8239,8 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. For + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -7289,8 +8248,8 @@ paths: type: object type: array interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -7306,27 +8265,31 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array of - ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array of + 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: Options that control how the listener subscribes to + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block number, + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -7339,7 +8302,8 @@ paths: schema: properties: signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -7347,29 +8311,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/query: post: description: Queries a method on a smart contract. Performs a read-only query. operationId: postContractQuery parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -7386,12 +8353,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -7403,22 +8372,26 @@ paths: type: object type: array idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: The UUID of a method within a pre-configured FireFly + description: + The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -7427,17 +8400,20 @@ paths: nullable: true type: string key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string method: - description: An in-line FFI method definition for the method to + description: + An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -7446,10 +8422,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7463,12 +8441,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -7484,12 +8464,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -7504,9 +8486,11 @@ paths: type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -7521,118 +8505,122 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data: get: description: Gets a list of data items operationId: getData parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.path - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.public - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.size - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datatype.name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datatype.version - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: public - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: validator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: value - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.path + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.public + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.size + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datatype.name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datatype.version + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: public + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: validator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: value + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -7651,17 +8639,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -7676,7 +8667,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -7684,12 +8676,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -7703,7 +8697,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -7711,7 +8706,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -7722,25 +8718,27 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates a new data item in this FireFly node operationId: postData parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: datatype: - description: The optional datatype to use for validation of the + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -7748,7 +8746,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -7761,7 +8760,8 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON type + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string @@ -7804,17 +8804,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -7829,7 +8832,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -7837,12 +8841,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -7856,7 +8862,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -7864,7 +8871,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -7874,25 +8882,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}: delete: description: Deletes a data item by its ID, including metadata about this item operationId: deleteData parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -7901,24 +8910,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a data item by its ID, including metadata about this item operationId: getDataByID parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -7935,17 +8945,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -7960,7 +8973,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -7968,12 +8982,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -7987,7 +9003,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -7995,7 +9012,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -8005,169 +9023,173 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/blob: get: description: Downloads the original file that was previously uploaded or received operationId: getDataBlob parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -8179,33 +9201,36 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/blob/publish: post: - description: Publishes the binary blob attachment stored in your local data + description: + Publishes the binary blob attachment stored in your local data exchange, to shared storage operationId: postDataBlobPublish parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -8225,17 +9250,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8250,7 +9278,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -8258,12 +9287,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -8277,7 +9308,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8285,7 +9317,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -8295,169 +9328,173 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/messages: get: description: Gets a list of the messages associated with a data item operationId: getDataMsgs parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -8493,20 +9530,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -8517,14 +9557,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -8539,25 +9581,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -8571,36 +9618,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -8609,30 +9658,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -8642,170 +9695,175 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/value: get: - description: Downloads the JSON value of the data resource, without the associated + description: + Downloads the JSON value of the data resource, without the associated metadata operationId: getDataValue parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -8817,33 +9875,36 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/value/publish: post: - description: Publishes the JSON value from the specified data resource, to shared + description: + Publishes the JSON value from the specified data resource, to shared storage operationId: postDataValuePublish parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -8863,17 +9924,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8888,7 +9952,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -8896,12 +9961,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -8915,7 +9982,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8923,7 +9991,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -8933,26 +10002,28 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /datasubpaths/{parent}: get: - description: Gets a list of path names of named blob data, underneath a given + description: + Gets a list of path names of named blob data, underneath a given parent path ('/' path prefixes are automatically pre-prepended) operationId: getDataSubPaths parameters: - - description: The parent path to query - in: path - name: parent - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The parent path to query + in: path + name: parent + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -8965,83 +10036,87 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /datatypes: get: description: Gets a list of datatypes that have been published operationId: getDatatypes parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: validator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: version - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: validator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: version + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -9056,7 +10131,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -9068,7 +10144,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -9077,24 +10154,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -9104,24 +10185,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates and broadcasts a new datatype operationId: postNewDatatype parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -9133,17 +10215,19 @@ paths: validator: description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -9160,7 +10244,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. Allows + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -9172,7 +10257,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -9181,24 +10267,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -9215,7 +10305,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. Allows + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -9227,7 +10318,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -9236,24 +10328,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -9262,31 +10358,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /datatypes/{name}/{version}: get: description: Gets a datatype by its name and version operationId: getDatatypeByName parameters: - - description: The name of the datatype - in: path - name: name - required: true - schema: - type: string - - description: The version of the datatype - in: path - name: version - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the datatype + in: path + name: name + required: true + schema: + type: string + - description: The version of the datatype + in: path + name: version + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -9299,7 +10396,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. Allows + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -9311,7 +10409,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -9320,24 +10419,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -9346,107 +10449,113 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /events: get: description: Gets a list of events operationId: getEvents parameters: - - description: When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreferences - schema: - example: "true" - type: string - - description: When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: correlator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: reference - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreferences + schema: + example: "true" + type: string + - description: + When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: correlator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: reference + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -9456,14 +10565,16 @@ paths: nullable: true properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -9473,66 +10584,73 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -9540,32 +10658,34 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /events/{eid}: get: description: Gets an event by its ID operationId: getEventByID parameters: - - description: The event ID - in: path - name: eid - required: true - schema: - type: string - - description: When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The event ID + in: path + name: eid + required: true + schema: + type: string + - description: + When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -9573,14 +10693,16 @@ paths: schema: properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed to + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -9590,144 +10712,155 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of this + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events are + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. For + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part of. + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted as + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /groups: get: description: Gets a list of groups operationId: getGroups parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: ledger - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: ledger + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -9737,13 +10870,15 @@ paths: nullable: true properties: created: - description: The time when the group was first used to send + description: + The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: The identifier hash of this group. Derived from + description: + The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -9761,7 +10896,8 @@ paths: description: The DID of the group member type: string node: - description: The UUID of the node that receives a copy + description: + The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -9769,17 +10905,20 @@ paths: type: object type: array message: - description: The message used to broadcast this group privately + description: + The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: The optional name of the group, allowing multiple + description: + The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: The namespace of the group within the multiparty + description: + The namespace of the group within the multiparty network type: string type: object @@ -9788,25 +10927,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /groups/{hash}: get: description: Gets a group by its ID (hash) operationId: getGroupByHash parameters: - - description: The hash of the group - in: path - name: hash - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the group + in: path + name: hash + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -9814,13 +10954,15 @@ paths: schema: properties: created: - description: The time when the group was first used to send a + description: + The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: The identifier hash of this group. Derived from the + description: + The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -9838,7 +10980,8 @@ paths: description: The DID of the group member type: string node: - description: The UUID of the node that receives a copy of + description: + The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -9846,17 +10989,20 @@ paths: type: object type: array message: - description: The message used to broadcast this group privately + description: + The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: The optional name of the group, allowing multiple + description: + The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: The namespace of the group within the multiparty + description: + The namespace of the group within the multiparty network type: string type: object @@ -9864,120 +11010,125 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities: get: - description: Gets a list of all identities that have been registered in the + description: + Gets a list of all identities that have been registered in the namespace operationId: getIdentities parameters: - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -9992,11 +11143,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -10005,7 +11158,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -10015,45 +11169,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -10061,11 +11222,13 @@ paths: nullable: true type: string verifiers: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -10073,13 +11236,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -10090,43 +11254,48 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Registers a new identity in the network operationId: postNewIdentity parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string key: - description: The blockchain signing key to use to make the claim + description: + The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: The name of the identity. The name must be unique within + description: + The name of the identity. The name must be unique within the type and namespace type: string parent: - description: On input the parent can be specified directly as the + description: + On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -10134,9 +11303,11 @@ paths: type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -10155,11 +11326,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -10168,7 +11341,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -10178,45 +11352,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -10236,11 +11417,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -10249,7 +11432,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -10259,45 +11443,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -10309,32 +11500,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities/{did}: get: description: Gets an identity by its ID operationId: getIdentityByID parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -10347,11 +11539,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -10360,7 +11554,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -10370,45 +11565,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -10420,43 +11622,47 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace patch: description: Updates an identity operationId: patchUpdateIdentity parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: object @@ -10472,11 +11678,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -10485,7 +11693,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -10495,45 +11704,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -10553,11 +11769,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -10566,7 +11784,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -10576,45 +11795,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -10626,33 +11852,34 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities/{iid}/did: get: description: Gets the DID for an identity based on its ID operationId: getIdentityDID parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - '@context': + "@context": description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -10674,7 +11901,8 @@ paths: nullable: true properties: blockchainAcountId: - description: For blockchains like Ethereum that represent + description: + For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -10682,7 +11910,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: A string provided by your Data Exchange plugin, + description: + A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -10690,7 +11919,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: For Hyperledger Fabric where the signing identity + description: + For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -10704,85 +11934,89 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities/{iid}/verifiers: get: description: Gets the verifiers for an identity operationId: getIdentityVerifiers parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: identity - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: value - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: identity + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: value + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -10797,14 +12031,16 @@ paths: nullable: true type: string hash: - description: Hash used as a globally consistent identifier for + description: + Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: The UUID of the parent identity that has claimed + description: + The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -10815,13 +12051,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -10830,168 +12067,172 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages: get: description: Gets a list of messages operationId: getMsgs parameters: - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -11001,7 +12242,8 @@ paths: nullable: true properties: batch: - description: The UUID of the batch in which the message was + description: + The UUID of the batch in which the message was pinned/transferred format: uuid nullable: true @@ -11030,20 +12272,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -11054,14 +12299,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -11076,25 +12323,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -11108,36 +12360,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -11146,30 +12400,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -11180,30 +12438,31 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}: get: description: Gets a message by its ID operationId: getMsgByID parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -11221,19 +12480,22 @@ paths: nullable: true type: string data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: An optional in-line hash reference to a previously + description: + An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -11243,17 +12505,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -11263,7 +12528,8 @@ paths: type: integer type: object datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -11271,7 +12537,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -11286,38 +12553,45 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -11325,25 +12599,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -11354,14 +12632,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -11376,25 +12656,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -11408,36 +12693,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -11446,30 +12733,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -11479,25 +12770,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}/data: get: description: Gets the list of data items that are attached to a message operationId: getMsgData parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -11516,17 +12808,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -11541,7 +12836,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -11549,12 +12845,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -11568,7 +12866,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -11576,7 +12875,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -11587,99 +12887,103 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}/events: get: description: Gets the list of events for a message operationId: getMsgEvents parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: correlator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: reference - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: correlator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: reference + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -11689,14 +12993,16 @@ paths: nullable: true properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -11706,66 +13012,73 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -11773,25 +13086,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}/transaction: get: description: Gets the transaction for a message operationId: getMsgTxn parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -11799,19 +13113,22 @@ paths: schema: properties: blockchainIds: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: The time the transaction was created on this node. + description: + The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -11823,7 +13140,8 @@ paths: nullable: true type: string idempotencyKey: - description: An optional unique identifier for a transaction. + description: + An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -11833,60 +13151,64 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /messages/broadcast: post: description: Broadcasts a message to all members in the network operationId: postNewMessageBroadcast parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation of + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -11894,7 +13216,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -11907,21 +13230,24 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -11930,50 +13256,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the message + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with an + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver this + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12014,20 +13345,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -12038,7 +13372,8 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte @@ -12053,25 +13388,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -12085,36 +13425,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12123,30 +13465,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -12187,20 +13533,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -12211,7 +13560,8 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte @@ -12226,25 +13576,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -12258,36 +13613,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12296,30 +13653,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -12329,43 +13690,47 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/private: post: description: Privately sends a message to one or more members in the network operationId: postNewMessagePrivate parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation of + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -12373,7 +13738,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -12386,34 +13752,40 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive a + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -12421,25 +13793,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -12449,50 +13825,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the message + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with an + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver this + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12533,20 +13914,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -12557,14 +13941,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -12579,25 +13965,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -12611,36 +14002,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12649,30 +14042,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -12713,20 +14110,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -12737,14 +14137,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -12759,25 +14161,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -12791,36 +14198,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12829,30 +14238,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -12862,39 +14275,44 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/requestreply: post: - description: Sends a message with a blocking HTTP request, waits for a reply + description: + Sends a message with a blocking HTTP request, waits for a reply to that message, then sends the reply as the HTTP response. operationId: postNewMessageRequestReply parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation of + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -12902,7 +14320,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -12915,34 +14334,40 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive a + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -12950,25 +14375,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -12978,50 +14407,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the message + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with an + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver this + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -13044,19 +14478,22 @@ paths: nullable: true type: string data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: An optional in-line hash reference to a previously + description: + An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -13066,17 +14503,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -13086,7 +14526,8 @@ paths: type: integer type: object datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -13094,7 +14535,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -13109,38 +14551,45 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -13148,25 +14597,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -13177,14 +14630,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -13199,25 +14654,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -13231,36 +14691,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -13269,30 +14731,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -13302,27 +14768,29 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /namespaces: get: description: Gets a list of namespaces operationId: getNamespaces parameters: - - description: When set, the API will return namespaces even if they are not - yet initialized, including in error cases where an initializationError is - included - in: query - name: includeinitializing - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + When set, the API will return namespaces even if they are not + yet initialized, including in error cases where an initializationError is + included + in: query + name: includeinitializing + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -13340,7 +14808,8 @@ paths: description: A description of the namespace type: string initializationError: - description: Set to a non-empty string in the case that the + description: + Set to a non-empty string in the case that the namespace is currently failing to initialize type: string initializing: @@ -13350,7 +14819,8 @@ paths: description: The local namespace name type: string networkName: - description: The shared namespace name within the multiparty + description: + The shared namespace name within the multiparty network type: string type: object @@ -13359,26 +14829,27 @@ paths: default: description: "" tags: - - Global + - Global /namespaces/{ns}: get: description: Gets a namespace operationId: getNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -13404,85 +14875,89 @@ paths: default: description: "" tags: - - Global + - Global /namespaces/{ns}/apis: get: description: Gets a list of contract APIs that have been published operationId: getContractAPIsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: networkname - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: published - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: networkname + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: published + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -13497,7 +14972,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -13514,31 +14990,36 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true type: string name: - description: The name that is used in the URL to access the + description: + The name that is used in the URL to access the API type: string namespace: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -13548,11 +15029,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -13562,44 +15045,54 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates and broadcasts a new custom smart contract API operationId: postNewContractAPINamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -13616,7 +15109,8 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of a + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -13626,7 +15120,8 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string type: object @@ -13642,7 +15137,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -13659,14 +15155,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -13678,11 +15176,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -13692,11 +15192,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -13713,7 +15215,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -13730,14 +15233,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -13749,11 +15254,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -13763,11 +15270,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -13776,32 +15285,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}: delete: description: Delete a contract API operationId: deleteContractAPINamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -13810,32 +15320,34 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: - description: Gets information about a contract API, including the URLs for the + description: + Gets information about a contract API, including the URLs for the OpenAPI Spec and Swagger UI for the API operationId: getContractAPIByNameNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -13848,7 +15360,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -13865,14 +15378,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -13884,11 +15399,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -13898,11 +15415,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -13911,45 +15430,47 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace put: description: The ID of the contract API operationId: putContractAPINamespace parameters: - - description: The name of the contract API - in: path - name: id - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: id + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -13966,7 +15487,8 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of a + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -13976,7 +15498,8 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string type: object @@ -13992,7 +15515,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -14009,14 +15533,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -14028,11 +15554,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -14042,11 +15570,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -14063,7 +15593,8 @@ paths: nullable: true type: string interface: - description: Reference to the FireFly Interface definition associated + description: + Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -14080,14 +15611,16 @@ paths: type: string type: object location: - description: If this API is tied to an individual instance of + description: + If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -14099,11 +15632,13 @@ paths: description: The namespace of the contract API type: string networkName: - description: The published name of the API within the multiparty + description: + The published name of the API within the multiparty network type: string published: - description: Indicates if the API is published to other members + description: + Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -14113,11 +15648,13 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: The URL to download the OpenAPI v3 (Swagger) + description: + The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: The URL to use in a web browser to access the + description: + The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -14126,32 +15663,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/interface: get: description: Gets a contract interface for a contract API operationId: getContractAPIInterfaceNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -14176,7 +15714,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -14194,12 +15733,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -14209,11 +15750,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -14229,10 +15772,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -14242,7 +15787,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -14260,12 +15806,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -14275,24 +15823,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -14308,10 +15860,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -14321,7 +15875,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -14339,12 +15894,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -14354,7 +15911,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -14365,12 +15923,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -14382,22 +15942,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -14405,56 +15969,61 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/invoke/{methodPath}: post: - description: Invokes a method on a smart contract API. Performs a blockchain + description: + Invokes a method on a smart contract API. Performs a blockchain transaction. operationId: postContractAPIInvokeNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -14471,12 +16040,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -14488,22 +16059,26 @@ paths: type: object type: array idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: The UUID of a method within a pre-configured FireFly + description: + The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -14512,36 +16087,42 @@ paths: nullable: true type: string key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: You can specify a message to correlate with the invocation, + description: + You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -14549,7 +16130,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -14559,39 +16141,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -14599,25 +16188,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -14627,57 +16220,63 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: An in-line FFI method definition for the method to + description: + An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -14686,10 +16285,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -14703,12 +16304,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -14724,12 +16327,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -14744,9 +16349,11 @@ paths: type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -14762,7 +16369,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -14780,16 +16388,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -14799,7 +16410,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -14807,21 +16419,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -14841,7 +16453,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -14859,16 +16472,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -14878,7 +16494,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -14886,21 +16503,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -14912,128 +16529,133 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/listeners/{eventPath}: get: description: Gets a list of contract listeners operationId: getContractAPIListenersNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: backendid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: filters - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: location - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: signature - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: backendid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: filters + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: location + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: signature + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -15043,7 +16665,8 @@ paths: nullable: true properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -15052,8 +16675,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'event' in the array + of 'filters' instead" nullable: true properties: description: @@ -15061,10 +16684,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15078,12 +16703,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15094,19 +16721,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -15116,11 +16746,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -15129,21 +16761,25 @@ paths: description: The name of the event type: string params: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -15155,7 +16791,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -15173,13 +16810,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -15190,8 +16829,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -15207,35 +16847,41 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -15246,47 +16892,51 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: - description: Creates a new blockchain listener for events emitted by custom + description: + Creates a new blockchain listener for events emitted by custom smart contracts operationId: postContractAPIListenersNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: 'Deprecated: Please use ''event'' in the array of ''filters'' - instead' + description: + "Deprecated: Please use 'event' in the array of 'filters' + instead" nullable: true properties: description: @@ -15294,10 +16944,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15311,12 +16963,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -15327,19 +16981,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each filter + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -15349,10 +17006,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15366,13 +17025,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -15384,7 +17045,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -15402,7 +17064,8 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. For + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -15410,8 +17073,8 @@ paths: type: object type: array interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -15427,27 +17090,31 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array of - ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array of + 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: Options that control how the listener subscribes to + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block number, + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -15460,7 +17127,8 @@ paths: schema: properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -15469,8 +17137,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array of - ''filters'' instead' + description: "Deprecated: Please use 'event' in the array of + 'filters' instead" nullable: true properties: description: @@ -15478,10 +17146,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15495,12 +17165,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -15511,19 +17183,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -15533,11 +17208,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15547,18 +17224,21 @@ paths: params: description: An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -15570,7 +17250,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -15588,13 +17269,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -15605,8 +17288,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -15622,35 +17306,40 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -15660,44 +17349,53 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/publish: post: description: Publish a contract API to all other members of the multiparty network operationId: postContractAPIPublishNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: An optional name to be used for publishing this definition + description: + An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -15725,7 +17423,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -15743,12 +17442,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15758,11 +17459,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -15778,10 +17481,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15791,7 +17496,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -15809,12 +17515,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15824,24 +17532,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -15857,10 +17569,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15870,7 +17584,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -15888,12 +17603,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15903,7 +17620,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -15914,12 +17632,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15931,22 +17651,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -15974,7 +17698,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -15992,12 +17717,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -16007,11 +17734,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -16027,10 +17756,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -16040,7 +17771,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -16058,12 +17790,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -16073,24 +17807,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -16106,10 +17844,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -16119,7 +17859,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -16137,12 +17878,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -16152,7 +17895,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -16163,12 +17907,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -16180,22 +17926,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -16203,50 +17953,55 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/query/{methodPath}: post: - description: Queries a method on a smart contract API. Performs a read-only + description: + Queries a method on a smart contract API. Performs a read-only query. operationId: postContractAPIQueryNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: + The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -16263,12 +18018,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -16280,22 +18037,26 @@ paths: type: object type: array idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: The UUID of a method within a pre-configured FireFly + description: + The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -16304,36 +18065,42 @@ paths: nullable: true type: string key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: You can specify a message to correlate with the invocation, + description: + You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -16341,7 +18108,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -16351,39 +18119,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -16391,25 +18166,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -16419,57 +18198,63 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: An in-line FFI method definition for the method to + description: + An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -16478,10 +18263,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -16495,12 +18282,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -16516,12 +18305,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -16536,9 +18327,11 @@ paths: type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -16553,120 +18346,369 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace + /namespaces/{ns}/apis/{id}: + put: + description: The ID of the contract API + operationId: putContractAPINamespace + parameters: + - description: The ID of the contract API + in: path + name: id + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + requestBody: + content: + application/json: + schema: + properties: + interface: + description: + Reference to the FireFly Interface definition associated + with the contract API + nullable: true + properties: + id: + description: The UUID of the FireFly interface + format: uuid + nullable: true + type: string + name: + description: The name of the FireFly interface + type: string + version: + description: The version of the FireFly interface + type: string + type: object + location: + additionalProperties: true + description: + If this API is tied to an individual instance of a + smart contract, this field can include a blockchain specific contract + identifier. For example an Ethereum contract address, or a Fabric + chaincode name and channel + nullable: true + type: object + name: + description: The name that is used in the URL to access the API + type: string + networkName: + description: + The published name of the API within the multiparty + network + type: string + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + id: + description: The UUID of the contract API + format: uuid + nullable: true + type: string + interface: + description: + Reference to the FireFly Interface definition associated + with the contract API + nullable: true + properties: + id: + description: The UUID of the FireFly interface + format: uuid + nullable: true + type: string + name: + description: The name of the FireFly interface + type: string + version: + description: The version of the FireFly interface + type: string + type: object + location: + additionalProperties: true + description: + If this API is tied to an individual instance of + a smart contract, this field can include a blockchain specific + contract identifier. For example an Ethereum contract address, + or a Fabric chaincode name and channel + nullable: true + type: object + message: + description: + The UUID of the broadcast message that was used to + publish this API to the network + format: uuid + nullable: true + type: string + name: + description: The name that is used in the URL to access the API + type: string + namespace: + description: The namespace of the contract API + type: string + networkName: + description: + The published name of the API within the multiparty + network + type: string + published: + description: + Indicates if the API is published to other members + of the multiparty network + type: boolean + urls: + description: The URLs to use to access the API + properties: + api: + description: The URL to use to invoke the API + type: string + openapi: + description: + The URL to download the OpenAPI v3 (Swagger) + description for the API generated in JSON or YAML format + type: string + ui: + description: + The URL to use in a web browser to access the + SwaggerUI explorer/exerciser for the API + type: string + type: object + type: object + description: Success + "202": + content: + application/json: + schema: + properties: + id: + description: The UUID of the contract API + format: uuid + nullable: true + type: string + interface: + description: + Reference to the FireFly Interface definition associated + with the contract API + nullable: true + properties: + id: + description: The UUID of the FireFly interface + format: uuid + nullable: true + type: string + name: + description: The name of the FireFly interface + type: string + version: + description: The version of the FireFly interface + type: string + type: object + location: + additionalProperties: true + description: + If this API is tied to an individual instance of + a smart contract, this field can include a blockchain specific + contract identifier. For example an Ethereum contract address, + or a Fabric chaincode name and channel + nullable: true + type: object + message: + description: + The UUID of the broadcast message that was used to + publish this API to the network + format: uuid + nullable: true + type: string + name: + description: The name that is used in the URL to access the API + type: string + namespace: + description: The namespace of the contract API + type: string + networkName: + description: + The published name of the API within the multiparty + network + type: string + published: + description: + Indicates if the API is published to other members + of the multiparty network + type: boolean + urls: + description: The URLs to use to access the API + properties: + api: + description: The URL to use to invoke the API + type: string + openapi: + description: + The URL to download the OpenAPI v3 (Swagger) + description for the API generated in JSON or YAML format + type: string + ui: + description: + The URL to use in a web browser to access the + SwaggerUI explorer/exerciser for the API + type: string + type: object + type: object + description: Success + default: + description: "" + tags: + - Non-Default Namespace /namespaces/{ns}/batches: get: description: Gets a list of message batches operationId: getBatchesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: node - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: payloadref - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: node + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: payloadref + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -16689,7 +18731,8 @@ paths: nullable: true type: string group: - description: The privacy group the batch is sent to, for private + description: + The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -16734,8 +18777,8 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object type: array @@ -16743,32 +18786,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/batches/{batchid}: get: description: Gets a message batch operationId: getBatchByIDNamespace parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -16789,7 +18833,8 @@ paths: nullable: true type: string group: - description: The privacy group the batch is sent to, for private + description: + The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -16834,40 +18879,41 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/batches/{batchid}/cancel: post: description: Cancel a batch that has failed to dispatch operationId: postBatchCancelNamespace parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: {} @@ -16879,105 +18925,109 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/blockchainevents: get: description: Gets a list of blockchain events operationId: getBlockchainEventsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: listener - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: protocolid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: source - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: timestamp - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.blockchainid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: listener + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: protocolid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: source + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: timestamp + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.blockchainid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -16993,13 +19043,16 @@ paths: type: string info: additionalProperties: - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: The UUID of the listener that detected this event, + description: + The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -17008,38 +19061,46 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: The namespace of the listener that detected this + description: + The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: The data output by the event, parsed to JSON + description: + The data output by the event, parsed to JSON according to the interface of the smart contract - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: The blockchain plugin or token service that detected + description: + The blockchain plugin or token service that detected the event type: string timestamp: - description: The time allocated to this event by the blockchain. + description: + The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: If this blockchain event is coorelated to FireFly + description: + If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -17058,32 +19119,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/blockchainevents/{id}: get: description: Gets a blockchain event operationId: getBlockchainEventByIDNamespace parameters: - - description: The blockchain event ID - in: path - name: id - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blockchain event ID + in: path + name: id + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -17097,13 +19159,16 @@ paths: type: string info: additionalProperties: - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector - description: Detailed blockchain specific information about the + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: The UUID of the listener that detected this event, + description: + The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -17112,38 +19177,46 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: The namespace of the listener that detected this + description: + The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: The blockchain plugin or token service that detected + description: + The blockchain plugin or token service that detected the event type: string timestamp: - description: The time allocated to this event by the blockchain. + description: + The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: If this blockchain event is coorelated to FireFly + description: + If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -17161,49 +19234,51 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/charts/histogram/{collection}: get: - description: Gets a JSON object containing statistics data that can be used + description: + Gets a JSON object containing statistics data that can be used to build a graphical representation of recent activity in a given database collection operationId: getChartHistogramNamespace parameters: - - description: The collection ID - in: path - name: collection - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Start time of the data to be fetched - in: query - name: startTime - schema: - type: string - - description: End time of the data to be fetched - in: query - name: endTime - schema: - type: string - - description: Number of buckets between start time and end time - in: query - name: buckets - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The collection ID + in: path + name: collection + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Start time of the data to be fetched + in: query + name: startTime + schema: + type: string + - description: End time of the data to be fetched + in: query + name: endTime + schema: + type: string + - description: Number of buckets between start time and end time + in: query + name: buckets + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -17213,11 +19288,13 @@ paths: nullable: true properties: count: - description: Total count of entries in this time bucket within + description: + Total count of entries in this time bucket within the histogram type: string isCapped: - description: Indicates whether there are more results in this + description: + Indicates whether there are more results in this bucket that are not being displayed type: boolean timestamp: @@ -17226,15 +19303,18 @@ paths: nullable: true type: string types: - description: Array of separate counts for individual types of + description: + Array of separate counts for individual types of record within the bucket items: - description: Array of separate counts for individual types + description: + Array of separate counts for individual types of record within the bucket nullable: true properties: count: - description: Count of entries of a given type within a + description: + Count of entries of a given type within a bucket type: string type: @@ -17248,39 +19328,41 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/deploy: post: description: Deploy a new smart contract operationId: postContractDeployNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: contract: - description: The smart contract to deploy. This should be pre-compiled + description: + The smart contract to deploy. This should be pre-compiled if required by the blockchain connector nullable: true type: string @@ -17289,26 +19371,32 @@ paths: nullable: true type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: - description: An optional array of inputs passed to the smart contract's + description: + An optional array of inputs passed to the smart contract's constructor, if applicable items: - description: An optional array of inputs passed to the smart contract's + description: + An optional array of inputs passed to the smart contract's constructor, if applicable type: array key: - description: The blockchain signing key that will be used to deploy + description: + The blockchain signing key that will be used to deploy the contract. Defaults to the first signing key of the organization that operates the node type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -17324,7 +19412,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -17342,16 +19431,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -17361,7 +19453,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -17369,21 +19462,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -17403,7 +19496,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -17421,16 +19515,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -17440,7 +19537,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -17448,21 +19546,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -17474,85 +19572,89 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces: get: description: Gets a list of contract interfaces that have been published operationId: getContractInterfacesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: networkname - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: published - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: version - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: networkname + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: published + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: version + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -17579,7 +19681,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -17597,13 +19700,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -17614,11 +19719,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -17634,10 +19741,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17647,7 +19756,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -17665,13 +19775,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -17682,24 +19794,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -17715,10 +19831,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17728,7 +19846,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -17746,13 +19865,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -17763,7 +19884,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -17774,13 +19896,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -17793,22 +19917,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -17817,37 +19945,46 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates and broadcasts a new custom smart contract interface operationId: postNewContractInterfaceNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -17875,12 +20012,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -17902,10 +20041,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17919,12 +20060,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -17946,10 +20089,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17963,12 +20108,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -17984,12 +20131,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -18001,15 +20150,18 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart contract + description: + The name of the FFI - usually matching the smart contract name type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -18037,7 +20189,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -18055,12 +20208,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18070,11 +20225,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -18090,10 +20247,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -18103,7 +20262,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -18121,12 +20281,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18136,24 +20298,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -18169,10 +20335,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -18182,7 +20350,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -18200,12 +20369,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18215,7 +20386,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -18226,12 +20398,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18243,22 +20417,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -18266,32 +20444,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/{interfaceId}: delete: description: Delete a contract interface operationId: deleteContractInterfaceNamespace parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -18300,38 +20479,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a contract interface by its ID operationId: getContractInterfaceNamespace parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -18356,7 +20537,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -18374,12 +20556,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18389,11 +20573,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -18409,10 +20595,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -18422,7 +20610,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -18440,12 +20629,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18455,24 +20646,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -18488,10 +20683,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -18501,7 +20698,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -18519,12 +20717,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18534,7 +20734,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -18545,12 +20746,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18562,22 +20765,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -18585,45 +20792,47 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/{name}/{version}: get: description: Gets a contract interface by its name and version operationId: getContractInterfaceByNameAndVersionNamespace parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -18648,7 +20857,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -18666,12 +20876,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18681,11 +20893,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -18701,10 +20915,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -18714,7 +20930,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -18732,12 +20949,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18747,24 +20966,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -18780,10 +21003,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -18793,7 +21018,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -18811,12 +21037,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18826,7 +21054,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -18837,12 +21066,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18854,22 +21085,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -18877,51 +21112,61 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/{name}/{version}/publish: post: - description: Publish a contract interface to all other members of the multiparty + description: + Publish a contract interface to all other members of the multiparty network operationId: postContractInterfacePublishNamespace parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: An optional name to be used for publishing this definition + description: + An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -18949,7 +21194,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -18967,12 +21213,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -18982,11 +21230,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -19002,10 +21252,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19015,7 +21267,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -19033,12 +21286,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19048,24 +21303,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -19081,10 +21340,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19094,7 +21355,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -19112,12 +21374,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19127,7 +21391,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -19138,12 +21403,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19155,22 +21422,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -19198,7 +21469,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -19216,12 +21488,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19231,11 +21505,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -19251,10 +21527,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19264,7 +21542,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -19282,12 +21561,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19297,24 +21578,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -19330,10 +21615,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19343,7 +21630,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -19361,12 +21649,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19376,7 +21666,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -19387,12 +21678,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19404,22 +21697,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -19427,40 +21724,44 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/generate: post: - description: A convenience method to convert a blockchain specific smart contract + description: + A convenience method to convert a blockchain specific smart contract format into a FireFly Interface format. The specific blockchain plugin in use must support this functionality. operationId: postGenerateContractInterfaceNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: The description of the FFI to be generated. Defaults + description: + The description of the FFI to be generated. Defaults to the description extracted by the blockchain specific converter utility type: string input: - description: A blockchain connector specific payload. For example + description: + A blockchain connector specific payload. For example in Ethereum this is a JSON structure containing an 'abi' array, and optionally a 'devdocs' array. nullable: true @@ -19499,7 +21800,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -19517,12 +21819,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19532,11 +21836,13 @@ paths: type: object type: array pathname: - description: The unique name allocated to this error within + description: + The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: The stringified signature of the error, as + description: + The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -19552,10 +21858,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19565,7 +21873,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -19583,12 +21892,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19598,24 +21909,28 @@ paths: type: object type: array pathname: - description: The unique name allocated to this event within + description: + The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: The stringified signature of the event, as + description: + The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: The UUID of the FireFly interface (FFI) smart contract + description: + The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -19631,10 +21946,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19644,7 +21961,8 @@ paths: nullable: true type: string interface: - description: The UUID of the FFI smart contract definition + description: + The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -19662,12 +21980,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19677,7 +21997,8 @@ paths: type: object type: array pathname: - description: The unique name allocated to this method within + description: + The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -19688,12 +22009,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -19705,22 +22028,26 @@ paths: type: object type: array name: - description: The name of the FFI - usually matching the smart + description: + The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: The published name of the FFI within the multiparty + description: + The published name of the FFI within the multiparty network type: string published: - description: Indicates if the FFI is published to other members + description: + Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: A version for the FFI - use of semantic versioning + description: + A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -19728,43 +22055,47 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/invoke: post: description: Invokes a method on a smart contract. Performs a blockchain transaction. operationId: postContractInvokeNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the blockchain transaction - is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When true the HTTP request blocks until the blockchain transaction + is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -19781,12 +22112,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -19798,22 +22131,26 @@ paths: type: object type: array idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: The UUID of a method within a pre-configured FireFly + description: + The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -19822,36 +22159,42 @@ paths: nullable: true type: string key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: You can specify a message to correlate with the invocation, + description: + You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -19859,7 +22202,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -19869,39 +22213,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -19909,25 +22260,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -19937,57 +22292,63 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: An in-line FFI method definition for the method to + description: + An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -19996,10 +22357,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20013,12 +22376,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20034,12 +22399,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20054,9 +22421,11 @@ paths: type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -20072,7 +22441,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -20090,16 +22460,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -20109,7 +22482,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -20117,21 +22491,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -20151,7 +22525,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -20169,16 +22544,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -20188,7 +22566,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -20196,21 +22575,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -20222,115 +22601,119 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/listeners: get: description: Gets a list of contract listeners operationId: getContractListenersNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: backendid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: filters - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: location - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: signature - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: backendid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: filters + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: location + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: signature + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -20340,7 +22723,8 @@ paths: nullable: true properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -20349,8 +22733,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'event' in the array + of 'filters' instead" nullable: true properties: description: @@ -20358,10 +22742,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20375,12 +22761,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20391,19 +22779,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -20413,11 +22804,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -20426,21 +22819,25 @@ paths: description: The name of the event type: string params: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -20452,7 +22849,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -20470,13 +22868,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -20487,8 +22887,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -20504,35 +22905,41 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -20543,34 +22950,37 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: - description: Creates a new blockchain listener for events emitted by custom + description: + Creates a new blockchain listener for events emitted by custom smart contracts operationId: postNewContractListenerNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: 'Deprecated: Please use ''event'' in the array of ''filters'' - instead' + description: + "Deprecated: Please use 'event' in the array of 'filters' + instead" nullable: true properties: description: @@ -20578,10 +22988,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20595,12 +23007,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20611,23 +23025,26 @@ paths: type: array type: object eventPath: - description: 'Deprecated: Please use ''eventPath'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'eventPath' in the array + of 'filters' instead" type: string filters: - description: A list of filters for the contract listener. Each filter + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -20637,10 +23054,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20654,13 +23073,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -20672,12 +23093,14 @@ paths: type: array type: object eventPath: - description: When creating a listener from an existing FFI, + description: + When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -20695,7 +23118,8 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. For + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -20703,8 +23127,8 @@ paths: type: object type: array interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -20720,27 +23144,31 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array of - ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array of + 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: Options that control how the listener subscribes to + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block number, + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -20753,7 +23181,8 @@ paths: schema: properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -20762,8 +23191,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array of - ''filters'' instead' + description: "Deprecated: Please use 'event' in the array of + 'filters' instead" nullable: true properties: description: @@ -20771,10 +23200,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20788,12 +23219,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20804,19 +23237,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -20826,11 +23262,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20840,18 +23278,21 @@ paths: params: description: An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -20863,7 +23304,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -20881,13 +23323,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -20898,8 +23342,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -20915,35 +23360,40 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -20953,32 +23403,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/listeners/{nameOrId}: delete: description: Deletes a contract listener referenced by its name or its ID operationId: deleteContractListenerNamespace parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -20987,38 +23438,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a contract listener by its name or ID operationId: getContractListenerByNameOrIDNamespace parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -21026,7 +23479,8 @@ paths: schema: properties: backendId: - description: An ID assigned by the blockchain connector to this + description: + An ID assigned by the blockchain connector to this listener type: string created: @@ -21035,8 +23489,8 @@ paths: nullable: true type: string event: - description: 'Deprecated: Please use ''event'' in the array of - ''filters'' instead' + description: "Deprecated: Please use 'event' in the array of + 'filters' instead" nullable: true properties: description: @@ -21044,10 +23498,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21061,12 +23517,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -21077,19 +23535,22 @@ paths: type: array type: object filters: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -21099,11 +23560,13 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21113,18 +23576,21 @@ paths: params: description: An array of event parameter/argument definitions items: - description: An array of event parameter/argument + description: + An array of event parameter/argument definitions nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -21136,7 +23602,8 @@ paths: type: array type: object interface: - description: A reference to an existing FFI, containing + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -21154,13 +23621,15 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: The stringified signature of the event and + description: + The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -21171,8 +23640,9 @@ paths: nullable: true type: string interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: + "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -21188,35 +23658,40 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'location' in the array + of 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: The namespace of the listener, which defines the + description: + The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: Options that control how the listener subscribes + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -21226,34 +23701,36 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/listeners/signature: post: description: Calculates the hash of a blockchain listener filters and events operationId: postContractListenerSignatureNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: 'Deprecated: Please use ''event'' in the array of ''filters'' - instead' + description: + "Deprecated: Please use 'event' in the array of 'filters' + instead" nullable: true properties: description: @@ -21261,10 +23738,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21278,12 +23757,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -21294,23 +23775,26 @@ paths: type: array type: object eventPath: - description: 'Deprecated: Please use ''eventPath'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'eventPath' in the array + of 'filters' instead" type: string filters: - description: A list of filters for the contract listener. Each filter + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: A list of filters for the contract listener. Each + description: + A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: The definition of the event, either provided + description: + The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -21320,10 +23804,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about + description: + Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21337,13 +23823,15 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -21355,12 +23843,14 @@ paths: type: array type: object eventPath: - description: When creating a listener from an existing FFI, + description: + When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -21378,7 +23868,8 @@ paths: type: string type: object location: - description: A blockchain specific contract identifier. For + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -21386,8 +23877,8 @@ paths: type: object type: array interface: - description: 'Deprecated: Please use ''interface'' in the array - of ''filters'' instead' + description: "Deprecated: Please use 'interface' in the array + of 'filters' instead" nullable: true properties: id: @@ -21403,27 +23894,31 @@ paths: type: string type: object location: - description: 'Deprecated: Please use ''location'' in the array of - ''filters'' instead' + description: + "Deprecated: Please use 'location' in the array of + 'filters' instead" nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: Options that control how the listener subscribes to + description: + Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block number, + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: A topic to set on the FireFly event that is emitted + description: + A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -21436,7 +23931,8 @@ paths: schema: properties: signature: - description: A concatenation of all the stringified signature + description: + A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -21444,36 +23940,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/query: post: description: Queries a method on a smart contract. Performs a read-only query. operationId: postContractQueryNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: An in-line FFI errors definition for the method to + description: + An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -21490,12 +23989,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -21507,22 +24008,26 @@ paths: type: object type: array idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: A map of named inputs. The name and type of each + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: A map of named inputs. The name and type of each input + description: + A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: The UUID of a method within a pre-configured FireFly + description: + The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -21531,36 +24036,42 @@ paths: nullable: true type: string key: - description: The blockchain signing key that will sign the invocation. + description: + The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: A blockchain specific contract identifier. For example + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: You can specify a message to correlate with the invocation, + description: + You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -21568,7 +24079,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -21578,39 +24090,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -21618,25 +24137,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -21646,57 +24169,63 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: An in-line FFI method definition for the method to + description: + An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -21705,10 +24234,12 @@ paths: type: string details: additionalProperties: - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: Additional blockchain specific fields about this + description: + Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21722,12 +24253,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -21743,12 +24276,14 @@ paths: nullable: true properties: name: - description: The name of the parameter. Note that parameters + description: + The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: FireFly uses an extended subset of JSON Schema + description: + FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -21763,9 +24298,11 @@ paths: type: string options: additionalProperties: - description: A map of named inputs that will be passed through + description: + A map of named inputs that will be passed through to the blockchain connector - description: A map of named inputs that will be passed through to + description: + A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -21780,125 +24317,129 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data: get: description: Gets a list of data items operationId: getDataNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.path - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.public - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blob.size - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datatype.name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datatype.version - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: public - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: validator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: value - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.path + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.public + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blob.size + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datatype.name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datatype.version + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: public + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: validator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: value + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -21917,17 +24458,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -21942,7 +24486,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -21950,12 +24495,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -21969,7 +24516,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -21977,7 +24525,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -21988,32 +24537,34 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates a new data item in this FireFly node operationId: postDataNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: datatype: - description: The optional datatype to use for validation of the + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -22021,7 +24572,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -22034,7 +24586,8 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON type + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string @@ -22077,17 +24630,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -22102,7 +24658,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -22110,12 +24667,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -22129,7 +24688,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -22137,7 +24697,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -22147,32 +24708,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}: delete: description: Deletes a data item by its ID, including metadata about this item operationId: deleteDataNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -22181,31 +24743,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a data item by its ID, including metadata about this item operationId: getDataByIDNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -22222,17 +24785,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -22247,7 +24813,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -22255,12 +24822,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -22274,7 +24843,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -22282,7 +24852,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -22292,176 +24863,180 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/blob: get: description: Downloads the original file that was previously uploaded or received operationId: getDataBlobNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -22473,40 +25048,43 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/blob/publish: post: - description: Publishes the binary blob attachment stored in your local data + description: + Publishes the binary blob attachment stored in your local data exchange, to shared storage operationId: postDataBlobPublishNamespace parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -22526,17 +25104,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -22551,7 +25132,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -22559,12 +25141,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -22578,7 +25162,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -22586,7 +25171,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -22596,176 +25182,180 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/messages: get: description: Gets a list of the messages associated with a data item operationId: getDataMsgsNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -22801,20 +25391,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -22825,14 +25418,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -22847,25 +25442,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -22879,36 +25479,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -22917,30 +25519,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -22950,177 +25556,182 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/value: get: - description: Downloads the JSON value of the data resource, without the associated + description: + Downloads the JSON value of the data resource, without the associated metadata operationId: getDataValueNamespace parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -23132,40 +25743,43 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/value/publish: post: - description: Publishes the JSON value from the specified data resource, to shared + description: + Publishes the JSON value from the specified data resource, to shared storage operationId: postDataValuePublishNamespace parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -23185,17 +25799,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -23210,7 +25827,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -23218,12 +25836,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the value + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -23237,7 +25857,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared storage, + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -23245,7 +25866,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -23255,33 +25877,35 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/datasubpaths/{parent}: get: - description: Gets a list of path names of named blob data, underneath a given + description: + Gets a list of path names of named blob data, underneath a given parent path ('/' path prefixes are automatically pre-prepended) operationId: getDataSubPathsNamespace parameters: - - description: The parent path to query - in: path - name: parent - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The parent path to query + in: path + name: parent + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -23294,90 +25918,94 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/datatypes: get: description: Gets a list of datatypes that have been published operationId: getDatatypesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: validator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: version - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: validator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: version + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -23392,7 +26020,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -23404,7 +26033,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -23413,24 +26043,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -23440,31 +26074,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates and broadcasts a new datatype operationId: postNewDatatypeNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -23476,17 +26111,19 @@ paths: validator: description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -23503,7 +26140,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. Allows + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -23515,7 +26153,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -23524,24 +26163,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -23558,7 +26201,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. Allows + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -23570,7 +26214,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -23579,24 +26224,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -23605,38 +26254,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/datatypes/{name}/{version}: get: description: Gets a datatype by its name and version operationId: getDatatypeByNameNamespace parameters: - - description: The name of the datatype - in: path - name: name - required: true - schema: - type: string - - description: The version of the datatype - in: path - name: version - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the datatype + in: path + name: name + required: true + schema: + type: string + - description: The version of the datatype + in: path + name: version + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -23649,7 +26299,8 @@ paths: nullable: true type: string hash: - description: The hash of the value, such as the JSON schema. Allows + description: + The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -23661,7 +26312,8 @@ paths: nullable: true type: string message: - description: The UUID of the broadcast message that was used to + description: + The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -23670,24 +26322,28 @@ paths: description: The name of the datatype type: string namespace: - description: The namespace of the datatype. Data resources can + description: + The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: The validator that should be used to verify this + description: + The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: The definition of the datatype, in the syntax supported + description: + The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: The version of the datatype. Multiple versions can + description: + The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -23696,114 +26352,120 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/events: get: description: Gets a list of events operationId: getEventsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreferences - schema: - example: "true" - type: string - - description: When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: correlator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: reference - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreferences + schema: + example: "true" + type: string + - description: + When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: correlator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: reference + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -23813,14 +26475,16 @@ paths: nullable: true properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -23830,66 +26494,73 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -23897,39 +26568,41 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/events/{eid}: get: description: Gets an event by its ID operationId: getEventByIDNamespace parameters: - - description: The event ID - in: path - name: eid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The event ID + in: path + name: eid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -23937,14 +26610,16 @@ paths: schema: properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed to + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -23954,151 +26629,162 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of this + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events are + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. For + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part of. + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted as + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/groups: get: description: Gets a list of groups operationId: getGroupsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: ledger - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: ledger + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -24108,13 +26794,15 @@ paths: nullable: true properties: created: - description: The time when the group was first used to send + description: + The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: The identifier hash of this group. Derived from + description: + The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -24132,7 +26820,8 @@ paths: description: The DID of the group member type: string node: - description: The UUID of the node that receives a copy + description: + The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -24140,17 +26829,20 @@ paths: type: object type: array message: - description: The message used to broadcast this group privately + description: + The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: The optional name of the group, allowing multiple + description: + The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: The namespace of the group within the multiparty + description: + The namespace of the group within the multiparty network type: string type: object @@ -24159,32 +26851,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/groups/{hash}: get: description: Gets a group by its ID (hash) operationId: getGroupByHashNamespace parameters: - - description: The hash of the group - in: path - name: hash - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the group + in: path + name: hash + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -24192,13 +26885,15 @@ paths: schema: properties: created: - description: The time when the group was first used to send a + description: + The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: The identifier hash of this group. Derived from the + description: + The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -24216,7 +26911,8 @@ paths: description: The DID of the group member type: string node: - description: The UUID of the node that receives a copy of + description: + The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -24224,17 +26920,20 @@ paths: type: object type: array message: - description: The message used to broadcast this group privately + description: + The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: The optional name of the group, allowing multiple + description: + The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: The namespace of the group within the multiparty + description: + The namespace of the group within the multiparty network type: string type: object @@ -24242,127 +26941,132 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities: get: - description: Gets a list of all identities that have been registered in the + description: + Gets a list of all identities that have been registered in the namespace operationId: getIdentitiesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -24377,11 +27081,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -24390,7 +27096,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -24400,45 +27107,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -24446,11 +27160,13 @@ paths: nullable: true type: string verifiers: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -24458,13 +27174,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -24475,50 +27192,55 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Registers a new identity in the network operationId: postNewIdentityNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string key: - description: The blockchain signing key to use to make the claim + description: + The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: The name of the identity. The name must be unique within + description: + The name of the identity. The name must be unique within the type and namespace type: string parent: - description: On input the parent can be specified directly as the + description: + On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -24526,9 +27248,11 @@ paths: type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -24547,11 +27271,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -24560,7 +27286,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -24570,45 +27297,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -24628,11 +27362,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -24641,7 +27377,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -24651,45 +27388,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -24701,39 +27445,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities/{did}: get: description: Gets an identity by its ID operationId: getIdentityByIDNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -24746,11 +27491,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -24759,7 +27506,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -24769,45 +27517,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -24819,50 +27574,54 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace patch: description: Updates an identity operationId: patchUpdateIdentityNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: object @@ -24878,11 +27637,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -24891,7 +27652,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -24901,45 +27663,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -24959,11 +27728,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -24972,7 +27743,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -24982,45 +27754,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -25032,40 +27811,41 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities/{iid}/did: get: description: Gets the DID for an identity based on its ID operationId: getIdentityDIDNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - '@context': + "@context": description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -25087,7 +27867,8 @@ paths: nullable: true properties: blockchainAcountId: - description: For blockchains like Ethereum that represent + description: + For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -25095,7 +27876,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: A string provided by your Data Exchange plugin, + description: + A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -25103,7 +27885,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: For Hyperledger Fabric where the signing identity + description: + For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -25117,92 +27900,96 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities/{iid}/verifiers: get: description: Gets the verifiers for an identity operationId: getIdentityVerifiersNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: identity - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: value - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: identity + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: value + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -25217,14 +28004,16 @@ paths: nullable: true type: string hash: - description: Hash used as a globally consistent identifier for + description: + Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: The UUID of the parent identity that has claimed + description: + The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -25235,13 +28024,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -25250,175 +28040,179 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages: get: description: Gets a list of messages operationId: getMsgsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: author - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: cid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: confirmed - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: datahash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: group - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pins - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: rejectreason - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: state - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tag - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topics - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txparent.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: txtype - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: author + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: cid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: confirmed + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: datahash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: group + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pins + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: rejectreason + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: state + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tag + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topics + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txparent.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: txtype + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -25428,7 +28222,8 @@ paths: nullable: true properties: batch: - description: The UUID of the batch in which the message was + description: + The UUID of the batch in which the message was pinned/transferred format: uuid nullable: true @@ -25457,20 +28252,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -25481,14 +28279,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -25503,25 +28303,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -25535,36 +28340,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -25573,30 +28380,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -25607,37 +28418,38 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}: get: description: Gets a message by its ID operationId: getMsgByIDNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -25655,19 +28467,22 @@ paths: nullable: true type: string data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: An optional in-line hash reference to a previously + description: + An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -25677,17 +28492,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -25697,7 +28515,8 @@ paths: type: integer type: object datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -25705,7 +28524,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -25720,38 +28540,45 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -25759,25 +28586,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -25788,14 +28619,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -25810,25 +28643,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -25842,36 +28680,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -25880,30 +28720,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -25913,32 +28757,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}/data: get: description: Gets the list of data items that are attached to a message operationId: getMsgDataNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -25957,17 +28802,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached to + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores the + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to shared + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -25982,7 +28830,8 @@ paths: nullable: true type: string datatype: - description: The optional datatype to use of validation of this + description: + The optional datatype to use of validation of this data nullable: true properties: @@ -25990,12 +28839,14 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: The hash of the data resource. Derived from the + description: + The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -26009,7 +28860,8 @@ paths: description: The namespace of the data resource type: string public: - description: If the JSON value has been published to shared + description: + If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -26017,7 +28869,8 @@ paths: description: The data validator type type: string value: - description: The value for the data, stored in the FireFly core + description: + The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -26028,106 +28881,110 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}/events: get: description: Gets the list of events for a message operationId: getMsgEventsNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: correlator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: reference - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: correlator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: reference + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -26137,14 +28994,16 @@ paths: nullable: true properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -26154,66 +29013,73 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -26221,32 +29087,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}/transaction: get: description: Gets the transaction for a message operationId: getMsgTxnNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -26254,19 +29121,22 @@ paths: schema: properties: blockchainIds: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: The time the transaction was created on this node. + description: + The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -26278,7 +29148,8 @@ paths: nullable: true type: string idempotencyKey: - description: An optional unique identifier for a transaction. + description: + An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -26288,67 +29159,71 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/broadcast: post: description: Broadcasts a message to all members in the network operationId: postNewMessageBroadcastNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation of + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -26356,7 +29231,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -26369,34 +29245,40 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive a + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -26404,25 +29286,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -26432,50 +29318,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the message + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with an + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver this + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -26516,20 +29407,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -26540,14 +29434,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -26562,25 +29458,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -26594,36 +29495,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -26632,30 +29535,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -26696,20 +29603,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -26720,14 +29630,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -26742,25 +29654,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -26774,36 +29691,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -26812,30 +29731,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -26845,50 +29768,54 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/private: post: description: Privately sends a message to one or more members in the network operationId: postNewMessagePrivateNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation of + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -26896,7 +29823,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -26909,34 +29837,40 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive a + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -26944,25 +29878,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -26972,50 +29910,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the message + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with an + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver this + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -27056,20 +29999,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -27080,14 +30026,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -27102,25 +30050,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -27134,36 +30087,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -27172,30 +30127,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -27236,20 +30195,23 @@ paths: type: object type: array hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -27260,14 +30222,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -27282,25 +30246,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -27314,36 +30283,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -27352,30 +30323,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -27385,46 +30360,51 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/requestreply: post: - description: Sends a message with a blocking HTTP request, waits for a reply + description: + Sends a message with a blocking HTTP request, waits for a reply to that message, then sends the reply as the HTTP response. operationId: postNewMessageRequestReplyNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation of + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -27432,7 +30412,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -27445,34 +30426,40 @@ paths: description: The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any JSON + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive a + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -27480,25 +30467,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -27508,50 +30499,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the message + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with an + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver this + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -27574,19 +30570,22 @@ paths: nullable: true type: string data: - description: For input allows you to specify data in-line in the + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: An optional in-line hash reference to a previously + description: + An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -27596,17 +30595,20 @@ paths: nullable: true type: string name: - description: The name field from the metadata attached + description: + The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: If a name is specified, this field stores + description: + If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: If the blob data has been published to + description: + If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -27616,7 +30618,8 @@ paths: type: integer type: object datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -27624,7 +30627,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic versioning + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -27639,38 +30643,45 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input can + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -27678,25 +30689,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to have + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: The hash of the message. Derived from the header, + description: + The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: The message header contains all fields that are used + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this when + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -27707,14 +30722,16 @@ paths: nullable: true type: string datahash: - description: A single hash representing all data in the message. + description: + A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: Private messages only - the identifier hash of + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -27729,25 +30746,30 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: The namespace of the message within the multiparty + description: + The namespace of the message within the multiparty network type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: The parent transaction that originally triggered + description: + The parent transaction that originally triggered this message nullable: true properties: @@ -27761,36 +30783,38 @@ paths: type: string type: object txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -27799,30 +30823,34 @@ paths: description: The local namespace of the message type: string pins: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic items: - description: For private messages, a unique pin hash:nonce is + description: + For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: If a message was rejected, provides details on the + description: + If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: The ID of the transaction used to order/deliver this + description: + The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -27832,26 +30860,27 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/action: post: description: Notify all nodes in the network of a new governance action operationId: postNetworkActionNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -27860,7 +30889,7 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object responses: @@ -27872,46 +30901,47 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/diddocs/{did}: get: description: Gets a DID document by its DID operationId: getNetworkDIDDocByDIDNamespace parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - '@context': + "@context": description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -27933,7 +30963,8 @@ paths: nullable: true properties: blockchainAcountId: - description: For blockchains like Ethereum that represent + description: + For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -27941,7 +30972,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: A string provided by your Data Exchange plugin, + description: + A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -27949,7 +30981,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: For Hyperledger Fabric where the signing identity + description: + For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -27963,128 +30996,133 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/identities: get: deprecated: true - description: Gets the list of identities in the network (deprecated - use /identities + description: + Gets the list of identities in the network (deprecated - use /identities instead of /network/identities operationId: getNetworkIdentitiesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -28099,11 +31137,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -28112,7 +31152,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -28122,45 +31163,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -28168,11 +31216,13 @@ paths: nullable: true type: string verifiers: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -28180,13 +31230,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -28197,39 +31248,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/identities/{did}: get: deprecated: true description: Gets an identity by its DID operationId: getNetworkIdentityByDIDNamespace parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -28242,11 +31294,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -28255,7 +31309,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -28265,45 +31320,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -28311,11 +31373,13 @@ paths: nullable: true type: string verifiers: - description: The verifiers, such as blockchain signing keys, that + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -28323,13 +31387,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -28339,120 +31404,124 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/nodes: get: description: Gets a list of nodes in the network operationId: getNetworkNodesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -28467,11 +31536,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -28480,7 +31551,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -28490,45 +31562,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -28541,32 +31620,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/nodes/{nameOrId}: get: description: Gets information about a specific node in the network operationId: getNetworkNodeNamespace parameters: - - description: The name or ID of the node - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the node + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -28579,11 +31659,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -28592,7 +31674,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -28602,45 +31685,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -28652,32 +31742,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/nodes/self: post: description: Instructs this FireFly node to register itself on the network operationId: postNodesSelfNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -28696,11 +31787,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -28709,7 +31802,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -28719,45 +31813,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -28777,11 +31878,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -28790,7 +31893,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -28800,45 +31904,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -28850,120 +31961,124 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/organizations: get: description: Gets a list of orgs in the network operationId: getNetworkOrgsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -28978,11 +32093,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -28991,7 +32108,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -29001,45 +32119,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -29052,51 +32177,56 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Registers a new org in the network operationId: postNewOrganizationNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string key: - description: The blockchain signing key to use to make the claim + description: + The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: The name of the identity. The name must be unique within + description: + The name of the identity. The name must be unique within the type and namespace type: string parent: - description: On input the parent can be specified directly as the + description: + On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -29104,9 +32234,11 @@ paths: type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -29125,11 +32257,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -29138,7 +32272,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -29148,45 +32283,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -29206,11 +32348,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -29219,7 +32363,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -29229,45 +32374,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -29279,32 +32431,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/organizations/{nameOrId}: get: description: Gets information about a specific org in the network operationId: getNetworkOrgNamespace parameters: - - description: The name or ID of the org - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the org + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -29317,11 +32470,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -29330,7 +32485,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -29340,45 +32496,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -29390,32 +32553,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/organizations/self: post: description: Instructs this FireFly node to register its org on the network operationId: postNewOrganizationSelfNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -29434,11 +32598,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -29447,7 +32613,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -29457,45 +32624,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -29515,11 +32689,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -29528,7 +32704,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -29538,45 +32715,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -29588,81 +32772,86 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/nextpins: get: - description: Queries the list of next-pins that determine the next masked message + description: + Queries the list of next-pins that determine the next masked message sequence for each member of a privacy group, on each context/topic operationId: getNextPinsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: context - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: identity - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: nonce - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: context + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: identity + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: nonce + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -29671,7 +32860,8 @@ paths: items: properties: context: - description: The context the next-pin applies to - the hash + description: + The context the next-pin applies to - the hash of the privacy group-hash + topic. The group-hash is only known to the participants (can itself contain a salt in the group-name). This context is combined with the member and @@ -29685,14 +32875,16 @@ paths: nullable: true type: string identity: - description: The member of the privacy group the next-pin applies + description: + The member of the privacy group the next-pin applies to type: string namespace: description: The namespace of the next-pin type: string nonce: - description: The numeric index - which is monotonically increasing + description: + The numeric index - which is monotonically increasing for each member of the privacy group format: int64 type: integer @@ -29702,115 +32894,119 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/operations: get: description: Gets a a list of operations operationId: getOpsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: error - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: input - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: output - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: plugin - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: retry - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: status - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: error + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: input + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: output + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: plugin + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: retry + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: status + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -29825,7 +33021,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -29843,16 +33040,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -29862,7 +33062,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -29870,21 +33071,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -29897,39 +33098,41 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/operations/{opid}: get: description: Gets an operation by ID operationId: getOpByIDNamespace parameters: - - description: The operation ID key to get - in: path - name: opid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The operation ID key to get + in: path + name: opid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -29942,10 +33145,12 @@ paths: nullable: true type: string detail: - description: Additional detailed information about an operation + description: + Additional detailed information about an operation provided by the connector error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -29963,16 +33168,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -29982,7 +33190,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -29990,21 +33199,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -30016,32 +33225,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/operations/{opid}/retry: post: description: Retries a failed operation operationId: postOpRetryNamespace parameters: - - description: The UUID of the operation - in: path - name: opid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The UUID of the operation + in: path + name: opid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -30060,7 +33270,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -30078,16 +33289,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -30097,7 +33311,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -30105,21 +33320,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -30131,95 +33346,99 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/pins: get: description: Queries the list of pins received from the blockchain operationId: getPinsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: dispatched - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: index - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: masked - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: dispatched + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: index + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: masked + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -30228,13 +33447,15 @@ paths: items: properties: batch: - description: The UUID of the batch of messages this pin is part + description: + The UUID of the batch of messages this pin is part of format: uuid nullable: true type: string batchHash: - description: The manifest hash batch of messages this pin is + description: + The manifest hash batch of messages this pin is part of format: byte nullable: true @@ -30245,11 +33466,13 @@ paths: nullable: true type: string dispatched: - description: Once true, this pin has been processed and will + description: + Once true, this pin has been processed and will not be processed again type: boolean hash: - description: The hash represents a topic within a message in + description: + The hash represents a topic within a message in the batch. If a message has multiple topics, then multiple pins are created. If the message is private, the hash is masked for privacy @@ -30257,12 +33480,14 @@ paths: nullable: true type: string index: - description: The index of this pin within the batch. One pin + description: + The index of this pin within the batch. One pin is created for each topic, of each message in the batch format: int64 type: integer masked: - description: True if the pin is for a private message, and hence + description: + True if the pin is for a private message, and hence is masked with the group ID and salted with a nonce so observers of the blockchain cannot use pin hash to match this transaction to other transactions or participants @@ -30271,13 +33496,15 @@ paths: description: The namespace of the pin type: string sequence: - description: The order of the pin in the local FireFly database, + description: + The order of the pin in the local FireFly database, which matches the order in which pins were delivered to FireFly by the blockchain connector event stream format: int64 type: integer signer: - description: The blockchain signing key that submitted this + description: + The blockchain signing key that submitted this transaction, as passed through to FireFly by the smart contract that emitted the blockchain event type: string @@ -30287,41 +33514,45 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/pins/rewind: post: - description: Force a rewind of the event aggregator to a previous position, + description: + Force a rewind of the event aggregator to a previous position, to re-evaluate (and possibly dispatch) that pin and others after it. Only accepts a sequence or batch ID for a currently undispatched pin operationId: postPinsRewindNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: batch: - description: The ID of the batch to which the event aggregator should + description: + The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: The sequence of the pin to which the event aggregator + description: + The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -30333,13 +33564,15 @@ paths: schema: properties: batch: - description: The ID of the batch to which the event aggregator + description: + The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: The sequence of the pin to which the event aggregator + description: + The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -30348,26 +33581,27 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/status: get: description: Gets the status of this namespace operationId: getStatusNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -30375,11 +33609,13 @@ paths: schema: properties: multiparty: - description: Information about the multi-party system configured + description: + Information about the multi-party system configured on this namespace properties: contract: - description: Information about the multi-party smart contract + description: + Information about the multi-party smart contract configured for this namespace nullable: true properties: @@ -30388,25 +33624,30 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such as + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -30414,7 +33655,8 @@ paths: type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -30427,34 +33669,41 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: - description: The version of this multiparty + description: + The version of this multiparty contract type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -30463,7 +33712,8 @@ paths: type: array type: object enabled: - description: Whether multi-party mode is enabled for this + description: + Whether multi-party mode is enabled for this namespace type: boolean type: object @@ -30483,7 +33733,8 @@ paths: description: The local namespace name type: string networkName: - description: The shared namespace name within the multiparty + description: + The shared namespace name within the multiparty network type: string type: object @@ -30497,7 +33748,8 @@ paths: nullable: true type: string name: - description: The name of this node, as specified in the local + description: + The name of this node, as specified in the local configuration type: string registered: @@ -30505,7 +33757,8 @@ paths: type: boolean type: object org: - description: Details of the root organization identity registered + description: + Details of the root organization identity registered for this namespace on the local node nullable: true properties: @@ -30518,31 +33771,36 @@ paths: nullable: true type: string name: - description: The name of the node operator organization, as + description: + The name of the node operator organization, as specified in the local configuration type: string registered: - description: Whether the organization has been successfully + description: + Whether the organization has been successfully registered type: boolean verifiers: - description: Array of verifiers (blockchain keys) owned by + description: + Array of verifiers (blockchain keys) owned by this identity items: - description: Array of verifiers (blockchain keys) owned + description: + Array of verifiers (blockchain keys) owned by this identity nullable: true properties: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -30655,26 +33913,27 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/status/batchmanager: get: description: Gets the status of the batch manager operationId: getStatusBatchManagerNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -30691,7 +33950,8 @@ paths: description: The type of dispatcher for this processor type: string name: - description: The name of the processor, which includes details + description: + The name of the processor, which includes details of the attributes of message are allocated to this processor type: string status: @@ -30702,36 +33962,43 @@ paths: format: int64 type: integer averageBatchData: - description: The average number of data attachments + description: + The average number of data attachments included in each batch format: double type: number averageBatchMessages: - description: The average number of messages included + description: + The average number of messages included in each batch format: double type: number averageFlushTimeMS: - description: The average amount of time spent flushing + description: + The average amount of time spent flushing each batch format: int64 type: integer blocked: - description: True if the batch flush is in a retry loop, + description: + True if the batch flush is in a retry loop, due to errors being returned by the plugins type: boolean cancelled: - description: True if the current batch flush has been + description: + True if the current batch flush has been cancelled type: boolean flushing: - description: If a flush is in progress, this is the + description: + If a flush is in progress, this is the UUID of the batch being flushed format: uuid nullable: true type: string lastFlushError: - description: The last error received by this batch processor + description: + The last error received by this batch processor while flushing type: string lastFlushErrorTime: @@ -30745,12 +34012,14 @@ paths: nullable: true type: string totalBatches: - description: The total count of batches flushed by this + description: + The total count of batches flushed by this processor since it started format: int64 type: integer totalErrors: - description: The total count of error flushed encountered + description: + The total count of error flushed encountered by this processor since it started format: int64 type: integer @@ -30762,27 +34031,29 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/status/multiparty: get: - description: Gets the registration status of this organization and node on the + description: + Gets the registration status of this organization and node on the configured multiparty network operationId: getStatusMultipartyNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -30790,7 +34061,8 @@ paths: schema: properties: contracts: - description: Information about the active and terminated multi-party + description: + Information about the active and terminated multi-party smart contracts configured for this namespace nullable: true properties: @@ -30799,25 +34071,30 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -30825,13 +34102,15 @@ paths: type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string status: - description: The status of the contract listener. One + description: + The status of the contract listener. One of 'syncing', 'synced', or 'unknown' type: string type: object @@ -30842,25 +34121,30 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such as a + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -30868,7 +34152,8 @@ paths: type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -30883,28 +34168,33 @@ paths: description: Details of the local node properties: pendingRegistrationMessageId: - description: The ID of the pending message that broadcast + description: + The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: The status of the node registration, one of 'unregistered', + description: + The status of the node registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string type: object org: - description: Details of the root organization identity registered + description: + Details of the root organization identity registered for this namespace on the local node properties: pendingRegistrationMessageId: - description: The ID of the pending message that broadcast + description: + The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: The status of the organization registration, + description: + The status of the organization registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string @@ -30914,95 +34204,99 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/subscriptions: get: description: Gets a list of subscriptions operationId: getSubscriptionsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: events - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: filters - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: options - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: transport - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: events + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: filters + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: options + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: transport + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -31017,7 +34311,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected @@ -31027,15 +34322,17 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' - instead' + description: "Deprecated: Please use 'message.author' + instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid @@ -31044,54 +34341,63 @@ paths: and use a topic filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -31102,14 +34408,16 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string @@ -31117,7 +34425,8 @@ paths: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -31126,17 +34435,20 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be + description: + "Webhooks only: When true the event will be acknowledged before the webhook is invoked, allowing parallel - invocations' + invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -31144,90 +34456,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on - the webhook request' + description: + "Webhooks only: Static headers to set on + the webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects @@ -31237,48 +34567,59 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply - message' + description: + "Webhooks only: The tag to set on the reply + message" type: string replytx: - description: 'Webhooks only: The transaction type to set - on the reply message' + description: + "Webhooks only: The transaction type to set + on the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be - relative if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be + relative if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. @@ -31287,7 +34628,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -31301,26 +34643,28 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: - description: Creates a new subscription for an application to receive events + description: + Creates a new subscription for an application to receive events from FireFly operationId: postNewSubscriptionNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -31330,14 +34674,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an event + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -31346,74 +34692,86 @@ paths: on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription will + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered array. + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -31421,16 +34779,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -31438,32 +34799,38 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the webhook - request' + description: + "Webhooks only: Static headers to set on the webhook + request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive connection + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -31475,51 +34842,61 @@ paths: type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true' + applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: string - description: 'Webhooks only: Static query params to set on the - webhook request' + description: + "Webhooks only: Static query params to set on the + webhook request" type: object readAhead: - description: The number of events to stream ahead to your application, + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -31528,46 +34905,55 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying the - webhook call' + description: + "Webhooks only: a set of options for retrying the + webhook call" properties: count: - description: Number of times to retry the webhook call in + description: + Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -31576,7 +34962,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -31592,7 +34979,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -31602,14 +34990,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -31618,54 +35008,63 @@ paths: filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -31676,21 +35075,24 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -31699,16 +35101,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -31716,90 +35121,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -31809,47 +35232,57 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -31858,7 +35291,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -31871,25 +35305,26 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace put: description: Update an existing subscription operationId: putSubscriptionNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -31899,14 +35334,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an event + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -31915,74 +35352,86 @@ paths: on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription will + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered array. + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -31990,16 +35439,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -32007,32 +35459,38 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the webhook - request' + description: + "Webhooks only: Static headers to set on the webhook + request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive connection + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -32044,51 +35502,61 @@ paths: type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true' + applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: string - description: 'Webhooks only: Static query params to set on the - webhook request' + description: + "Webhooks only: Static query params to set on the + webhook request" type: object readAhead: - description: The number of events to stream ahead to your application, + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -32097,46 +35565,55 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying the - webhook call' + description: + "Webhooks only: a set of options for retrying the + webhook call" properties: count: - description: Number of times to retry the webhook call in + description: + Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -32145,7 +35622,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -32161,7 +35639,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -32171,14 +35650,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -32187,54 +35668,63 @@ paths: filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -32245,21 +35735,24 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -32268,16 +35761,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -32285,90 +35781,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -32378,47 +35892,57 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -32427,7 +35951,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -32440,32 +35965,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/subscriptions/{subid}: delete: description: Deletes a subscription operationId: deleteSubscriptionNamespace parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -32474,37 +36000,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a subscription by its ID operationId: getSubscriptionByIDNamespace parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -32517,7 +36045,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -32527,14 +36056,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -32543,54 +36074,63 @@ paths: filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -32601,21 +36141,24 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -32624,16 +36167,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -32641,90 +36187,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -32734,47 +36298,57 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -32783,7 +36357,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -32796,119 +36371,126 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/subscriptions/{subid}/events: get: - description: Gets a collection of events filtered by the subscription for further + description: + Gets a collection of events filtered by the subscription for further filtering operationId: getSubscriptionEventsFilteredNamespace parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: The sequence ID in the raw event stream to start indexing through - events from. Leave blank to start indexing from the most recent events - in: query - name: startsequence - schema: - type: string - - description: The sequence ID in the raw event stream to stop indexing through - events at. Leave blank to start indexing from the most recent events - in: query - name: endsequence - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: correlator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: reference - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + The sequence ID in the raw event stream to start indexing through + events from. Leave blank to start indexing from the most recent events + in: query + name: startsequence + schema: + type: string + - description: + The sequence ID in the raw event stream to stop indexing through + events at. Leave blank to start indexing from the most recent events + in: query + name: endsequence + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: correlator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: reference + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -32918,14 +36500,16 @@ paths: nullable: true properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -32935,66 +36519,73 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -33002,70 +36593,74 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/accounts: get: description: Gets a list of token accounts operationId: getTokenAccountsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -33075,7 +36670,8 @@ paths: nullable: true properties: key: - description: The blockchain signing identity this balance applies + description: + The blockchain signing identity this balance applies to type: string type: object @@ -33084,77 +36680,82 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/accounts/{key}/pools: get: description: Gets a list of token pools that contain a given token account key operationId: getTokenAccountPoolsNamespace parameters: - - description: The key for the token account. The exact format may vary based - on the token connector use - in: path - name: key - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + The key for the token account. The exact format may vary based + on the token connector use + in: path + name: key + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -33164,7 +36765,8 @@ paths: nullable: true properties: pool: - description: The UUID the token pool this balance entry applies + description: + The UUID the token pool this balance entry applies to format: uuid nullable: true @@ -33175,135 +36777,139 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/approvals: get: description: Gets a list of token approvals operationId: getTokenApprovalsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: active - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: approved - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainevent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: localid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messagehash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: operator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: protocolid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: subject - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: active + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: approved + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainevent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: localid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messagehash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: operator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: protocolid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: subject + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -33313,11 +36919,13 @@ paths: nullable: true properties: active: - description: Indicates if this approval is currently active + description: + Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -33327,7 +36935,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -33338,42 +36947,49 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token approval, in the local FireFly + description: + The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated + description: + The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated + description: + The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the approval, which must match + description: + The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -33385,15 +37001,18 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: A string identifying the parties and entities in + description: + A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -33412,79 +37031,89 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates a token approval operationId: postTokenApprovalNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details type: object idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the approval, + description: + You can specify a message to correlate with the approval, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the approval nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -33492,7 +37121,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -33502,39 +37132,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -33542,25 +37179,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -33570,50 +37211,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -33635,11 +37281,13 @@ paths: schema: properties: active: - description: Indicates if this approval is currently active (only + description: + Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -33649,7 +37297,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -33660,42 +37309,49 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: Token connector specific information about the approval + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token approval, in the local FireFly + description: + The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the approval, which must match + description: + The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -33707,15 +37363,18 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: A string identifying the parties and entities in + description: + A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -33736,11 +37395,13 @@ paths: schema: properties: active: - description: Indicates if this approval is currently active (only + description: + Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -33750,7 +37411,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -33761,42 +37423,49 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: Token connector specific information about the approval + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token approval, in the local FireFly + description: + The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the approval, which must match + description: + The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -33808,15 +37477,18 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: A string identifying the parties and entities in + description: + A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -33834,95 +37506,99 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/balances: get: description: Gets a list of token balances operationId: getTokenBalancesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: balance - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tokenindex - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: uri - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: balance + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tokenindex + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: uri + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -33932,42 +37608,50 @@ paths: nullable: true properties: balance: - description: The numeric balance. For non-fungible tokens will + description: + The numeric balance. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when interpreting the balance. For example, with 18 decimals a fractional balance of 10.234 will be returned as 10,234,000,000,000,000,000 type: string connector: - description: The token connector that is responsible for the + description: + The token connector that is responsible for the token pool of this balance entry type: string key: - description: The blockchain signing identity this balance applies + description: + The blockchain signing identity this balance applies to type: string namespace: - description: The namespace of the token pool for this balance + description: + The namespace of the token pool for this balance entry type: string pool: - description: The UUID the token pool this balance entry applies + description: + The UUID the token pool this balance entry applies to format: uuid nullable: true type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this balance applies to type: string updated: - description: The last time the balance was updated by applying + description: + The last time the balance was updated by applying a transfer event format: date-time nullable: true type: string uri: - description: The URI of the token this balance entry applies + description: + The URI of the token this balance entry applies to type: string type: object @@ -33976,38 +37660,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/burn: post: description: Burns some tokens operationId: postTokenBurnNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -34015,47 +37701,56 @@ paths: type: string config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the transfer, + description: + You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -34063,7 +37758,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -34073,39 +37769,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -34113,25 +37816,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -34141,50 +37848,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -34194,11 +37906,13 @@ paths: description: The name or UUID of a token pool type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this transfer + description: + The index of the token within the pool that this transfer applies to type: string uri: @@ -34212,7 +37926,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -34224,7 +37939,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -34234,36 +37950,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -34272,19 +37994,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -34300,9 +38026,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -34315,7 +38041,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -34327,7 +38054,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -34337,36 +38065,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -34375,19 +38109,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -34403,9 +38141,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -34415,26 +38153,27 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/connectors: get: description: Gets the list of token connectors currently in use operationId: getTokenConnectorsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -34444,7 +38183,8 @@ paths: nullable: true properties: name: - description: The name of the token connector, as configured + description: + The name of the token connector, as configured in the FireFly core configuration file type: string type: object @@ -34453,38 +38193,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/mint: post: description: Mints some tokens operationId: postTokenMintNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -34492,47 +38234,56 @@ paths: type: string config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the transfer, + description: + You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -34540,7 +38291,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -34550,39 +38302,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -34590,25 +38349,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -34618,50 +38381,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -34671,11 +38439,13 @@ paths: description: The name or UUID of a token pool type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this transfer + description: + The index of the token within the pool that this transfer applies to type: string uri: @@ -34689,7 +38459,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -34701,7 +38472,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -34711,36 +38483,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -34749,19 +38527,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -34777,9 +38559,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -34792,7 +38574,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -34804,7 +38587,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -34814,36 +38598,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -34852,19 +38642,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -34880,9 +38674,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -34892,145 +38686,149 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/pools: get: description: Gets a list of token pools operationId: getTokenPoolsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: active - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: decimals - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interfaceformat - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: locator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: networkname - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: published - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: standard - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: symbol - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: active + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: decimals + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interfaceformat + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: locator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: networkname + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: published + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: standard + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: symbol + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -35040,11 +38838,13 @@ paths: nullable: true properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -35064,14 +38864,17 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -35088,58 +38891,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -35154,8 +38968,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object type: array @@ -35163,36 +38977,38 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates a new token pool operationId: postTokenPoolNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -35200,26 +39016,31 @@ paths: properties: config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details type: object connector: - description: The name of the token connector, as specified in the + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -35236,28 +39057,32 @@ paths: type: string type: object key: - description: The signing key used to create the token pool. On input + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string name: - description: The name of the token pool. Note the name is not validated + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object responses: @@ -35267,11 +39092,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -35291,13 +39118,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -35314,58 +39144,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -35380,8 +39221,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -35391,11 +39232,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -35415,13 +39258,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -35438,58 +39284,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -35504,40 +39361,41 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/pools/{nameOrId}: delete: description: Delete a token pool operationId: deleteTokenPoolNamespace parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -35546,31 +39404,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a token pool by its name or its ID operationId: getTokenPoolByNameOrIDNamespace parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -35578,11 +39437,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -35602,13 +39463,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -35625,58 +39489,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -35691,52 +39566,54 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/pools/{nameOrId}/publish: post: description: Publish a token pool to all other members of the multiparty network operationId: postTokenPoolPublishNamespace parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: An optional name to be used for publishing this definition + description: + An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -35747,11 +39624,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -35771,13 +39650,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -35794,58 +39676,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -35860,8 +39753,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -35871,11 +39764,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -35895,13 +39790,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -35918,58 +39816,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -35984,158 +39893,162 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/transfers: get: description: Gets a list of token transfers operationId: getTokenTransfersNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: The sending or receiving token account for a token transfer - in: query - name: fromOrTo - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: amount - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainevent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: from - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: localid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messagehash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: protocolid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: to - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tokenindex - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: uri - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: The sending or receiving token account for a token transfer + in: query + name: fromOrTo + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: amount + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainevent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: from + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: localid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messagehash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: protocolid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: to + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tokenindex + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: uri + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -36145,7 +40058,8 @@ paths: nullable: true properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance @@ -36157,7 +40071,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -36167,36 +40082,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -36205,19 +40126,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -36233,9 +40158,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -36246,37 +40171,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Transfers some tokens operationId: postTokenTransferNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -36284,47 +40211,56 @@ paths: type: string config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the transfer, + description: + You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -36332,7 +40268,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -36342,39 +40279,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -36382,25 +40326,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -36410,50 +40358,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -36463,11 +40416,13 @@ paths: description: The name or UUID of a token pool type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this transfer + description: + The index of the token within the pool that this transfer applies to type: string uri: @@ -36481,7 +40436,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -36493,7 +40449,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -36503,36 +40460,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -36541,19 +40504,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -36569,9 +40536,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -36584,7 +40551,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -36596,7 +40564,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -36606,36 +40575,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -36644,19 +40619,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -36672,9 +40651,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -36684,32 +40663,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/transfers/{transferId}: get: description: Gets a token transfer by its ID operationId: getTokenTransferByIDNamespace parameters: - - description: The token transfer ID - in: path - name: transferId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token transfer ID + in: path + name: transferId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -36717,7 +40697,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -36729,7 +40710,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -36739,36 +40721,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -36777,19 +40765,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -36805,9 +40797,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -36817,85 +40809,89 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions: get: description: Gets a list of transactions operationId: getTxnsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainids - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainids + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -36905,12 +40901,14 @@ paths: nullable: true properties: blockchainIds: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain @@ -36918,7 +40916,8 @@ paths: type: string type: array created: - description: The time the transaction was created on this node. + description: + The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -36930,7 +40929,8 @@ paths: nullable: true type: string idempotencyKey: - description: An optional unique identifier for a transaction. + description: + An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -36940,17 +40940,17 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object type: array @@ -36958,91 +40958,95 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}: get: description: Gets a transaction by its ID operationId: getTxnByIDNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainids - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainids + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -37050,19 +41054,22 @@ paths: schema: properties: blockchainIds: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: The time the transaction was created on this node. + description: + The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -37074,7 +41081,8 @@ paths: nullable: true type: string idempotencyKey: - description: An optional unique identifier for a transaction. + description: + An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -37084,49 +41092,50 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}/blockchainevents: get: description: Gets a list blockchain events for a specific transaction operationId: getTxnBlockchainEventsNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -37142,13 +41151,16 @@ paths: type: string info: additionalProperties: - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: The UUID of the listener that detected this event, + description: + The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -37157,38 +41169,46 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: The namespace of the listener that detected this + description: + The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: The data output by the event, parsed to JSON + description: + The data output by the event, parsed to JSON according to the interface of the smart contract - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: The blockchain plugin or token service that detected + description: + The blockchain plugin or token service that detected the event type: string timestamp: - description: The time allocated to this event by the blockchain. + description: + The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: If this blockchain event is coorelated to FireFly + description: + If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -37207,32 +41227,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}/operations: get: description: Gets a list of operations in a specific transaction operationId: getTxnOpsNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -37247,7 +41268,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -37265,16 +41287,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -37284,7 +41309,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -37292,21 +41318,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -37319,32 +41345,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}/status: get: description: Gets the status of a transaction operationId: getTxnStatusNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -37352,19 +41379,23 @@ paths: schema: properties: details: - description: A set of records describing the activities within + description: + A set of records describing the activities within the transaction known by the local FireFly node items: - description: A set of records describing the activities within + description: + A set of records describing the activities within the transaction known by the local FireFly node nullable: true properties: error: - description: If an error occurred related to the detail + description: + If an error occurred related to the detail entry, it is included here type: string id: - description: The UUID of the entry referenced by this detail. + description: + The UUID of the entry referenced by this detail. The type of this record can be inferred from the entry type format: uuid @@ -37376,16 +41407,19 @@ paths: description: Output details for this entry type: object status: - description: The status of the detail record. Cases where + description: + The status of the detail record. Cases where an event is required for completion, but has not arrived yet are marked with a 'pending' record type: string subtype: - description: A sub-type, such as an operation type, or an + description: + A sub-type, such as an operation type, or an event type type: string timestamp: - description: The time relevant to when the record was updated, + description: + The time relevant to when the record was updated, such as the time an event was created, or the last update time of an operation format: date-time @@ -37397,7 +41431,8 @@ paths: type: object type: array status: - description: The overall computed status of the transaction, after + description: + The overall computed status of the transaction, after analyzing the details during the API call type: string type: object @@ -37405,85 +41440,89 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/verifiers: get: description: Gets a list of verifiers operationId: getVerifiersNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: identity - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: value - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: identity + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: value + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -37498,14 +41537,16 @@ paths: nullable: true type: string hash: - description: Hash used as a globally consistent identifier for + description: + Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: The UUID of the parent identity that has claimed + description: + The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -37516,13 +41557,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -37531,33 +41573,34 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/verifiers/{hash}: get: description: Gets a verifier by its hash operationId: getVerifierByIDNamespace parameters: - - description: The hash of the verifier - in: path - name: hash - required: true - schema: - example: hash - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the verifier + in: path + name: hash + required: true + schema: + example: hash + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -37570,14 +41613,16 @@ paths: nullable: true type: string hash: - description: Hash used as a globally consistent identifier for + description: + Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: The UUID of the parent identity that has claimed + description: + The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -37588,13 +41633,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -37602,26 +41648,27 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/verifiers/resolve: post: description: Resolves an input key to a signing key operationId: postVerifiersResolveNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -37630,13 +41677,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, or + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -37649,13 +41697,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -37663,19 +41712,20 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /network/action: post: description: Notify all nodes in the network of a new governance action operationId: postNetworkAction parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -37684,7 +41734,7 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object responses: @@ -37696,39 +41746,40 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /network/diddocs/{did}: get: description: Gets a DID document by its DID operationId: getNetworkDIDDocByDID parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - '@context': + "@context": description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -37750,7 +41801,8 @@ paths: nullable: true properties: blockchainAcountId: - description: For blockchains like Ethereum that represent + description: + For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -37758,7 +41810,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: A string provided by your Data Exchange plugin, + description: + A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -37766,7 +41819,8 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: For Hyperledger Fabric where the signing identity + description: + For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -37780,121 +41834,126 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/identities: get: deprecated: true - description: Gets the list of identities in the network (deprecated - use /identities + description: + Gets the list of identities in the network (deprecated - use /identities instead of /network/identities operationId: getNetworkIdentities parameters: - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -37909,11 +41968,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -37922,7 +41983,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -37932,45 +41994,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -37978,11 +42047,13 @@ paths: nullable: true type: string verifiers: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -37990,13 +42061,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -38007,32 +42079,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/identities/{did}: get: deprecated: true description: Gets an identity by its DID operationId: getNetworkIdentityByDID parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -38045,11 +42118,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38058,7 +42133,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38068,45 +42144,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -38114,11 +42197,13 @@ paths: nullable: true type: string verifiers: - description: The verifiers, such as blockchain signing keys, that + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: The verifiers, such as blockchain signing keys, + description: + The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -38126,13 +42211,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -38142,113 +42228,117 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/nodes: get: description: Gets a list of nodes in the network operationId: getNetworkNodes parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -38263,11 +42353,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38276,7 +42368,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38286,45 +42379,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -38337,25 +42437,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/nodes/{nameOrId}: get: description: Gets information about a specific node in the network operationId: getNetworkNode parameters: - - description: The name or ID of the node - in: path - name: nameOrId - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the node + in: path + name: nameOrId + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -38368,11 +42469,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38381,7 +42484,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38391,45 +42495,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -38441,25 +42552,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/nodes/self: post: description: Instructs this FireFly node to register itself on the network operationId: postNodesSelf parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -38478,11 +42590,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38491,7 +42605,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38501,45 +42616,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -38559,11 +42681,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38572,7 +42696,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38582,45 +42707,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -38632,113 +42764,117 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/organizations: get: description: Gets a list of orgs in the network operationId: getNetworkOrgs parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: description - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: did - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.claim - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.update - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messages.verification - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: parent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: profile - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: description + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: did + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.claim + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.update + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messages.verification + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: parent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: profile + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -38753,11 +42889,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38766,7 +42904,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38776,45 +42915,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -38827,44 +42973,49 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Registers a new org in the network operationId: postNewOrganization parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string key: - description: The blockchain signing key to use to make the claim + description: + The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: The name of the identity. The name must be unique within + description: + The name of the identity. The name must be unique within the type and namespace type: string parent: - description: On input the parent can be specified directly as the + description: + On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -38872,9 +43023,11 @@ paths: type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -38893,11 +43046,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38906,7 +43061,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38916,45 +43072,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -38974,11 +43137,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -38987,7 +43152,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -38997,45 +43163,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -39047,25 +43220,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/organizations/{nameOrId}: get: description: Gets information about a specific org in the network operationId: getNetworkOrg parameters: - - description: The name or ID of the org - in: path - name: nameOrId - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the org + in: path + name: nameOrId + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -39078,11 +43252,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -39091,7 +43267,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -39101,45 +43278,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -39151,25 +43335,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/organizations/self: post: description: Instructs this FireFly node to register its org on the network operationId: postNewOrganizationSelf parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -39188,11 +43373,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -39201,7 +43388,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -39211,45 +43399,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -39269,11 +43464,13 @@ paths: nullable: true type: string description: - description: A description of the identity. Part of the updatable + description: + A description of the identity. Part of the updatable profile information of an identity type: string did: - description: The DID of the identity. Unique across namespaces + description: + The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -39282,7 +43479,8 @@ paths: nullable: true type: string messages: - description: References to the broadcast messages that established + description: + References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -39292,45 +43490,52 @@ paths: nullable: true type: string update: - description: The UUID of the most recently applied update + description: + The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: The UUID of claim message. Unset for root organization + description: + The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: The name of the identity. The name must be unique + description: + The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: The namespace of the identity. Organization and node + description: + The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: The UUID of the parent identity. Unset for root organization + description: + The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: A set of metadata for the identity. Part of the + description: + A set of metadata for the identity. Part of the updatable profile information of an identity - description: A set of metadata for the identity. Part of the updatable + description: + A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -39342,74 +43547,79 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /nextpins: get: - description: Queries the list of next-pins that determine the next masked message + description: + Queries the list of next-pins that determine the next masked message sequence for each member of a privacy group, on each context/topic operationId: getNextPins parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: context - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: identity - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: nonce - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: context + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: identity + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: nonce + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -39418,7 +43628,8 @@ paths: items: properties: context: - description: The context the next-pin applies to - the hash + description: + The context the next-pin applies to - the hash of the privacy group-hash + topic. The group-hash is only known to the participants (can itself contain a salt in the group-name). This context is combined with the member and @@ -39432,14 +43643,16 @@ paths: nullable: true type: string identity: - description: The member of the privacy group the next-pin applies + description: + The member of the privacy group the next-pin applies to type: string namespace: description: The namespace of the next-pin type: string nonce: - description: The numeric index - which is monotonically increasing + description: + The numeric index - which is monotonically increasing for each member of the privacy group format: int64 type: integer @@ -39449,108 +43662,112 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /operations: get: description: Gets a a list of operations operationId: getOps parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: error - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: input - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: output - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: plugin - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: retry - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: status - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: error + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: input + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: output + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: plugin + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: retry + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: status + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -39565,7 +43782,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -39583,16 +43801,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -39602,7 +43823,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -39610,21 +43832,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -39637,32 +43859,34 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /operations/{opid}: get: description: Gets an operation by ID operationId: getOpByID parameters: - - description: The operation ID key to get - in: path - name: opid - required: true - schema: - type: string - - description: When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The operation ID key to get + in: path + name: opid + required: true + schema: + type: string + - description: + When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -39675,10 +43899,12 @@ paths: nullable: true type: string detail: - description: Additional detailed information about an operation + description: + Additional detailed information about an operation provided by the connector error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -39696,16 +43922,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -39715,7 +43944,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -39723,21 +43953,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -39749,25 +43979,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /operations/{opid}/retry: post: description: Retries a failed operation operationId: postOpRetry parameters: - - description: The UUID of the operation - in: path - name: opid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The UUID of the operation + in: path + name: opid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -39786,7 +44017,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -39804,16 +44036,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a previous + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -39823,7 +44058,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -39831,21 +44067,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -39857,88 +44093,92 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /pins: get: description: Queries the list of pins received from the blockchain operationId: getPins parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: batch - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: dispatched - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: index - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: masked - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: batch + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: dispatched + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: index + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: masked + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -39947,13 +44187,15 @@ paths: items: properties: batch: - description: The UUID of the batch of messages this pin is part + description: + The UUID of the batch of messages this pin is part of format: uuid nullable: true type: string batchHash: - description: The manifest hash batch of messages this pin is + description: + The manifest hash batch of messages this pin is part of format: byte nullable: true @@ -39964,11 +44206,13 @@ paths: nullable: true type: string dispatched: - description: Once true, this pin has been processed and will + description: + Once true, this pin has been processed and will not be processed again type: boolean hash: - description: The hash represents a topic within a message in + description: + The hash represents a topic within a message in the batch. If a message has multiple topics, then multiple pins are created. If the message is private, the hash is masked for privacy @@ -39976,12 +44220,14 @@ paths: nullable: true type: string index: - description: The index of this pin within the batch. One pin + description: + The index of this pin within the batch. One pin is created for each topic, of each message in the batch format: int64 type: integer masked: - description: True if the pin is for a private message, and hence + description: + True if the pin is for a private message, and hence is masked with the group ID and salted with a nonce so observers of the blockchain cannot use pin hash to match this transaction to other transactions or participants @@ -39990,13 +44236,15 @@ paths: description: The namespace of the pin type: string sequence: - description: The order of the pin in the local FireFly database, + description: + The order of the pin in the local FireFly database, which matches the order in which pins were delivered to FireFly by the blockchain connector event stream format: int64 type: integer signer: - description: The blockchain signing key that submitted this + description: + The blockchain signing key that submitted this transaction, as passed through to FireFly by the smart contract that emitted the blockchain event type: string @@ -40006,34 +44254,38 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /pins/rewind: post: - description: Force a rewind of the event aggregator to a previous position, + description: + Force a rewind of the event aggregator to a previous position, to re-evaluate (and possibly dispatch) that pin and others after it. Only accepts a sequence or batch ID for a currently undispatched pin operationId: postPinsRewind parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: batch: - description: The ID of the batch to which the event aggregator should + description: + The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: The sequence of the pin to which the event aggregator + description: + The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -40045,13 +44297,15 @@ paths: schema: properties: batch: - description: The ID of the batch to which the event aggregator + description: + The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: The sequence of the pin to which the event aggregator + description: + The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -40060,19 +44314,20 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /status: get: description: Gets the status of this namespace operationId: getStatus parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -40080,11 +44335,13 @@ paths: schema: properties: multiparty: - description: Information about the multi-party system configured + description: + Information about the multi-party system configured on this namespace properties: contract: - description: Information about the multi-party smart contract + description: + Information about the multi-party smart contract configured for this namespace nullable: true properties: @@ -40093,25 +44350,30 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such as + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -40119,7 +44381,8 @@ paths: type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -40132,34 +44395,41 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: - description: The version of this multiparty + description: + The version of this multiparty contract type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -40168,7 +44438,8 @@ paths: type: array type: object enabled: - description: Whether multi-party mode is enabled for this + description: + Whether multi-party mode is enabled for this namespace type: boolean type: object @@ -40188,7 +44459,8 @@ paths: description: The local namespace name type: string networkName: - description: The shared namespace name within the multiparty + description: + The shared namespace name within the multiparty network type: string type: object @@ -40202,7 +44474,8 @@ paths: nullable: true type: string name: - description: The name of this node, as specified in the local + description: + The name of this node, as specified in the local configuration type: string registered: @@ -40210,7 +44483,8 @@ paths: type: boolean type: object org: - description: Details of the root organization identity registered + description: + Details of the root organization identity registered for this namespace on the local node nullable: true properties: @@ -40223,31 +44497,36 @@ paths: nullable: true type: string name: - description: The name of the node operator organization, as + description: + The name of the node operator organization, as specified in the local configuration type: string registered: - description: Whether the organization has been successfully + description: + Whether the organization has been successfully registered type: boolean verifiers: - description: Array of verifiers (blockchain keys) owned by + description: + Array of verifiers (blockchain keys) owned by this identity items: - description: Array of verifiers (blockchain keys) owned + description: + Array of verifiers (blockchain keys) owned by this identity nullable: true properties: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -40360,19 +44639,20 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /status/batchmanager: get: description: Gets the status of the batch manager operationId: getStatusBatchManager parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -40389,7 +44669,8 @@ paths: description: The type of dispatcher for this processor type: string name: - description: The name of the processor, which includes details + description: + The name of the processor, which includes details of the attributes of message are allocated to this processor type: string status: @@ -40400,36 +44681,43 @@ paths: format: int64 type: integer averageBatchData: - description: The average number of data attachments + description: + The average number of data attachments included in each batch format: double type: number averageBatchMessages: - description: The average number of messages included + description: + The average number of messages included in each batch format: double type: number averageFlushTimeMS: - description: The average amount of time spent flushing + description: + The average amount of time spent flushing each batch format: int64 type: integer blocked: - description: True if the batch flush is in a retry loop, + description: + True if the batch flush is in a retry loop, due to errors being returned by the plugins type: boolean cancelled: - description: True if the current batch flush has been + description: + True if the current batch flush has been cancelled type: boolean flushing: - description: If a flush is in progress, this is the + description: + If a flush is in progress, this is the UUID of the batch being flushed format: uuid nullable: true type: string lastFlushError: - description: The last error received by this batch processor + description: + The last error received by this batch processor while flushing type: string lastFlushErrorTime: @@ -40443,12 +44731,14 @@ paths: nullable: true type: string totalBatches: - description: The total count of batches flushed by this + description: + The total count of batches flushed by this processor since it started format: int64 type: integer totalErrors: - description: The total count of error flushed encountered + description: + The total count of error flushed encountered by this processor since it started format: int64 type: integer @@ -40460,20 +44750,22 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /status/multiparty: get: - description: Gets the registration status of this organization and node on the + description: + Gets the registration status of this organization and node on the configured multiparty network operationId: getStatusMultiparty parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -40481,7 +44773,8 @@ paths: schema: properties: contracts: - description: Information about the active and terminated multi-party + description: + Information about the active and terminated multi-party smart contracts configured for this namespace nullable: true properties: @@ -40490,25 +44783,30 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such as a block + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -40516,13 +44814,15 @@ paths: type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string status: - description: The status of the contract listener. One + description: + The status of the contract listener. One of 'syncing', 'synced', or 'unknown' type: string type: object @@ -40533,25 +44833,30 @@ paths: nullable: true properties: firstEvent: - description: A blockchain specific string, such as a + description: + A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: The index of this contract in the config + description: + The index of this contract in the config file type: integer info: - description: Additional info about the current status + description: + Additional info about the current status of the multi-party contract properties: finalEvent: - description: The identifier for the final blockchain + description: + The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: The backend identifier of the subscription + description: + The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -40559,7 +44864,8 @@ paths: type: integer type: object location: - description: A blockchain specific contract identifier. + description: + A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -40574,28 +44880,33 @@ paths: description: Details of the local node properties: pendingRegistrationMessageId: - description: The ID of the pending message that broadcast + description: + The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: The status of the node registration, one of 'unregistered', + description: + The status of the node registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string type: object org: - description: Details of the root organization identity registered + description: + Details of the root organization identity registered for this namespace on the local node properties: pendingRegistrationMessageId: - description: The ID of the pending message that broadcast + description: + The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: The status of the organization registration, + description: + The status of the organization registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string @@ -40605,88 +44916,92 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /subscriptions: get: description: Gets a list of subscriptions operationId: getSubscriptions parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: events - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: filters - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: options - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: transport - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: events + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: filters + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: options + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: transport + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -40701,7 +45016,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected @@ -40711,15 +45027,17 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' - instead' + description: "Deprecated: Please use 'message.author' + instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid @@ -40728,54 +45046,63 @@ paths: and use a topic filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -40786,14 +45113,16 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string @@ -40801,7 +45130,8 @@ paths: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -40810,17 +45140,20 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be + description: + "Webhooks only: When true the event will be acknowledged before the webhook is invoked, allowing parallel - invocations' + invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -40828,90 +45161,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on - the webhook request' + description: + "Webhooks only: Static headers to set on + the webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects @@ -40921,48 +45272,59 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply - message' + description: + "Webhooks only: The tag to set on the reply + message" type: string replytx: - description: 'Webhooks only: The transaction type to set - on the reply message' + description: + "Webhooks only: The transaction type to set + on the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be - relative if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be + relative if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. @@ -40971,7 +45333,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -40985,19 +45348,21 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: - description: Creates a new subscription for an application to receive events + description: + Creates a new subscription for an application to receive events from FireFly operationId: postNewSubscription parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -41007,14 +45372,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an event + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -41023,74 +45390,86 @@ paths: on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription will + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered array. + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -41098,16 +45477,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -41115,32 +45497,38 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the webhook - request' + description: + "Webhooks only: Static headers to set on the webhook + request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive connection + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -41152,51 +45540,61 @@ paths: type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true' + applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: string - description: 'Webhooks only: Static query params to set on the - webhook request' + description: + "Webhooks only: Static query params to set on the + webhook request" type: object readAhead: - description: The number of events to stream ahead to your application, + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -41205,46 +45603,55 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying the - webhook call' + description: + "Webhooks only: a set of options for retrying the + webhook call" properties: count: - description: Number of times to retry the webhook call in + description: + Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -41253,7 +45660,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -41269,7 +45677,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -41279,14 +45688,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -41295,54 +45706,63 @@ paths: filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -41353,21 +45773,24 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -41376,16 +45799,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -41393,90 +45819,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -41486,47 +45930,57 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -41535,7 +45989,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -41548,18 +46003,19 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace put: description: Update an existing subscription operationId: putSubscription parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -41569,14 +46025,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an event + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -41585,74 +46043,86 @@ paths: on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription will + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered array. + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -41660,16 +46130,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -41677,32 +46150,38 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the webhook - request' + description: + "Webhooks only: Static headers to set on the webhook + request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive connection + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -41714,51 +46193,61 @@ paths: type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true' + applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: string - description: 'Webhooks only: Static query params to set on the - webhook request' + description: + "Webhooks only: Static query params to set on the + webhook request" type: object readAhead: - description: The number of events to stream ahead to your application, + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -41767,46 +46256,55 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying the - webhook call' + description: + "Webhooks only: a set of options for retrying the + webhook call" properties: count: - description: Number of times to retry the webhook call in + description: + Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -41815,7 +46313,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -41831,7 +46330,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -41841,14 +46341,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -41857,54 +46359,63 @@ paths: filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -41915,21 +46426,24 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -41938,16 +46452,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -41955,90 +46472,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -42048,47 +46583,57 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -42097,7 +46642,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -42110,25 +46656,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /subscriptions/{subid}: delete: description: Deletes a subscription operationId: deleteSubscription parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -42137,30 +46684,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a subscription by its ID operationId: getSubscriptionByID parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: + When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -42173,7 +46722,8 @@ paths: nullable: true type: string ephemeral: - description: Ephemeral subscriptions only exist as long as the + description: + Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -42183,14 +46733,16 @@ paths: description: Server-side filter to apply to events properties: author: - description: 'Deprecated: Please use ''message.author'' instead' + description: "Deprecated: Please use 'message.author' instead" type: string blockchainevent: - description: Filters specific to blockchain events. If an + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -42199,54 +46751,63 @@ paths: filter on your subscriptions type: string name: - description: Regular expression to apply to the blockchain + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the event type, + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' instead' + description: "Deprecated: Please use 'message.group' instead" type: string message: - description: Filters specific to message events. If an event + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to the message + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' instead' + description: "Deprecated: Please use 'message.tag' instead" type: string topic: - description: Regular expression to apply to the topic of the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' instead' + description: "Deprecated: Please use 'topic' instead" type: string transaction: - description: Filters specific to events with a transaction. + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to the transaction + description: + Regular expression to apply to the transaction 'type' field type: string type: object @@ -42257,21 +46818,24 @@ paths: nullable: true type: string name: - description: The name of the subscription. The application specifies + description: + The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: The namespace of the subscription. A subscription + description: + The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: Events are delivered in batches in an ordered + description: + Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -42280,16 +46844,19 @@ paths: nullable: true type: boolean batchTimeout: - description: When batching is enabled, the optional timeout + description: + When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: 'Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations' + description: + "Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations" type: boolean firstEvent: - description: Whether your application would like to receive + description: + Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -42297,90 +46864,108 @@ paths: type: string headers: additionalProperties: - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: string - description: 'Webhooks only: Static headers to set on the - webhook request' + description: + "Webhooks only: Static headers to set on the + webhook request" type: object httpOptions: - description: 'Webhooks only: a set of options for HTTP' + description: "Webhooks only: a set of options for HTTP" properties: connectionTimeout: - description: The maximum amount of time that a connection + description: + The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: The max duration to hold a HTTP keepalive + description: + The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: The max number of idle connections to hold + description: + The max number of idle connections to hold pooled type: integer proxyURL: - description: HTTP proxy URL to use for outbound requests + description: + HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: The max duration to hold a TLS handshake + description: + The max duration to hold a TLS handshake alive type: string type: object input: - description: 'Webhooks only: A set of options to extract data + description: + "Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true' + Only applies if withData=true" properties: body: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for headers type: string path: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use for query parameters type: string replytx: - description: A top-level property of the first data input, + description: + A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: 'Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type' + description: + "Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type" type: boolean method: - description: 'Webhooks only: HTTP method to invoke. Default=POST' + description: "Webhooks only: HTTP method to invoke. Default=POST" type: string query: additionalProperties: - description: 'Webhooks only: Static query params to set - on the webhook request' + description: + "Webhooks only: Static query params to set + on the webhook request" type: string - description: 'Webhooks only: Static query params to set on - the webhook request' + description: + "Webhooks only: Static query params to set on + the webhook request" type: object readAhead: - description: The number of events to stream ahead to your + description: + The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -42390,47 +46975,57 @@ paths: nullable: true type: integer reply: - description: 'Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook' + description: + "Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook" type: boolean replytag: - description: 'Webhooks only: The tag to set on the reply message' + description: "Webhooks only: The tag to set on the reply message" type: string replytx: - description: 'Webhooks only: The transaction type to set on - the reply message' + description: + "Webhooks only: The transaction type to set on + the reply message" type: string retry: - description: 'Webhooks only: a set of options for retrying - the webhook call' + description: + "Webhooks only: a set of options for retrying + the webhook call" properties: count: - description: Number of times to retry the webhook call + description: + Number of times to retry the webhook call in case of failure type: integer enabled: - description: Enables retry on HTTP calls, defaults to + description: + Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: Initial delay between retries when we retry + description: + Initial delay between retries when we retry the webhook call type: string maxDelay: - description: Max delay between retries when we retry the + description: + Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: The name of an existing TLS configuration associated + description: + The name of an existing TLS configuration associated to the namespace to use type: string url: - description: 'Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config' + description: + "Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config" type: string withData: - description: Whether message events delivered over the subscription, + description: + Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -42439,7 +47034,8 @@ paths: type: boolean type: object transport: - description: The transport plugin responsible for event delivery + description: + The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -42452,112 +47048,119 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /subscriptions/{subid}/events: get: - description: Gets a collection of events filtered by the subscription for further + description: + Gets a collection of events filtered by the subscription for further filtering operationId: getSubscriptionEventsFiltered parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: The sequence ID in the raw event stream to start indexing through - events from. Leave blank to start indexing from the most recent events - in: query - name: startsequence - schema: - type: string - - description: The sequence ID in the raw event stream to stop indexing through - events at. Leave blank to start indexing from the most recent events - in: query - name: endsequence - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: correlator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: reference - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: sequence - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: topic - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: + The sequence ID in the raw event stream to start indexing through + events from. Leave blank to start indexing from the most recent events + in: query + name: startsequence + schema: + type: string + - description: + The sequence ID in the raw event stream to stop indexing through + events at. Leave blank to start indexing from the most recent events + in: query + name: endsequence + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: correlator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: reference + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: sequence + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: topic + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -42567,14 +47170,16 @@ paths: nullable: true properties: correlator: - description: For message events, this is the 'header.cid' field + description: + For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: The time the event was emitted. Not guaranteed + description: + The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -42584,66 +47189,73 @@ paths: nullable: true type: string id: - description: The UUID assigned to this event by your local FireFly + description: + The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: The namespace of the event. Your application must + description: + The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: The UUID of an resource that is the subject of + description: + The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: A sequence indicating the order in which events + description: + A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: A stream of information this event relates to. + description: + A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: The UUID of a transaction that is event is part + description: + The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: All interesting activity in FireFly is emitted + description: + All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -42651,63 +47263,67 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/accounts: get: description: Gets a list of token accounts operationId: getTokenAccounts parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -42717,7 +47333,8 @@ paths: nullable: true properties: key: - description: The blockchain signing identity this balance applies + description: + The blockchain signing identity this balance applies to type: string type: object @@ -42726,70 +47343,75 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/accounts/{key}/pools: get: description: Gets a list of token pools that contain a given token account key operationId: getTokenAccountPools parameters: - - description: The key for the token account. The exact format may vary based - on the token connector use - in: path - name: key - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + The key for the token account. The exact format may vary based + on the token connector use + in: path + name: key + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -42799,7 +47421,8 @@ paths: nullable: true properties: pool: - description: The UUID the token pool this balance entry applies + description: + The UUID the token pool this balance entry applies to format: uuid nullable: true @@ -42810,128 +47433,132 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/approvals: get: description: Gets a list of token approvals operationId: getTokenApprovals parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: active - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: approved - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainevent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: localid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messagehash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: operator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: protocolid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: subject - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: active + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: approved + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainevent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: localid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messagehash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: operator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: protocolid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: subject + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -42941,11 +47568,13 @@ paths: nullable: true properties: active: - description: Indicates if this approval is currently active + description: + Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -42955,7 +47584,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -42966,42 +47596,49 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token approval, in the local FireFly + description: + The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated + description: + The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated + description: + The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the approval, which must match + description: + The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -43013,15 +47650,18 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: A string identifying the parties and entities in + description: + A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -43040,72 +47680,82 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates a token approval operationId: postTokenApproval parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details type: object idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the approval, + description: + You can specify a message to correlate with the approval, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the approval nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -43113,7 +47763,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -43123,39 +47774,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -43163,25 +47821,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -43191,50 +47853,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -43256,11 +47923,13 @@ paths: schema: properties: active: - description: Indicates if this approval is currently active (only + description: + Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -43270,7 +47939,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -43281,42 +47951,49 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: Token connector specific information about the approval + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token approval, in the local FireFly + description: + The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the approval, which must match + description: + The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -43328,15 +48005,18 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: A string identifying the parties and entities in + description: + A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -43357,11 +48037,13 @@ paths: schema: properties: active: - description: Indicates if this approval is currently active (only + description: + Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: Whether this record grants permission for an operator + description: + Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -43371,7 +48053,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -43382,42 +48065,49 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: Token connector specific information about the approval + description: + Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: The blockchain signing key for the approval request. + description: + The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token approval, in the local FireFly + description: + The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the approval, which must match + description: + The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -43429,15 +48119,18 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: A string identifying the parties and entities in + description: + A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -43455,88 +48148,92 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/balances: get: description: Gets a list of token balances operationId: getTokenBalances parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: balance - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tokenindex - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: updated - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: uri - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: balance + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tokenindex + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: updated + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: uri + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -43546,42 +48243,50 @@ paths: nullable: true properties: balance: - description: The numeric balance. For non-fungible tokens will + description: + The numeric balance. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when interpreting the balance. For example, with 18 decimals a fractional balance of 10.234 will be returned as 10,234,000,000,000,000,000 type: string connector: - description: The token connector that is responsible for the + description: + The token connector that is responsible for the token pool of this balance entry type: string key: - description: The blockchain signing identity this balance applies + description: + The blockchain signing identity this balance applies to type: string namespace: - description: The namespace of the token pool for this balance + description: + The namespace of the token pool for this balance entry type: string pool: - description: The UUID the token pool this balance entry applies + description: + The UUID the token pool this balance entry applies to format: uuid nullable: true type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this balance applies to type: string updated: - description: The last time the balance was updated by applying + description: + The last time the balance was updated by applying a transfer event format: date-time nullable: true type: string uri: - description: The URI of the token this balance entry applies + description: + The URI of the token this balance entry applies to type: string type: object @@ -43590,31 +48295,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/burn: post: description: Burns some tokens operationId: postTokenBurn parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -43622,47 +48329,56 @@ paths: type: string config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the transfer, + description: + You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -43670,7 +48386,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -43680,39 +48397,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -43720,25 +48444,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -43748,50 +48476,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -43801,7 +48534,8 @@ paths: description: The name or UUID of a token pool type: string tokenIndex: - description: The index of the token within the pool that this transfer + description: + The index of the token within the pool that this transfer applies to type: string uri: @@ -43815,7 +48549,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -43827,7 +48562,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -43837,36 +48573,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -43875,19 +48617,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -43903,9 +48649,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -43918,7 +48664,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -43930,7 +48677,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -43940,36 +48688,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -43978,19 +48732,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -44006,9 +48764,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -44018,19 +48776,20 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/connectors: get: description: Gets the list of token connectors currently in use operationId: getTokenConnectors parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -44040,7 +48799,8 @@ paths: nullable: true properties: name: - description: The name of the token connector, as configured + description: + The name of the token connector, as configured in the FireFly core configuration file type: string type: object @@ -44049,31 +48809,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/mint: post: description: Mints some tokens operationId: postTokenMint parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -44081,43 +48843,51 @@ paths: type: string config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the transfer, + description: + You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -44125,7 +48895,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -44135,39 +48906,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -44175,25 +48953,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -44203,50 +48985,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -44256,11 +49043,13 @@ paths: description: The name or UUID of a token pool type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this transfer + description: + The index of the token within the pool that this transfer applies to type: string uri: @@ -44274,7 +49063,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -44286,7 +49076,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -44296,36 +49087,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -44334,19 +49131,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -44362,9 +49163,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -44377,7 +49178,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -44389,7 +49191,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -44399,36 +49202,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -44437,19 +49246,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -44465,9 +49278,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -44477,138 +49290,142 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/pools: get: description: Gets a list of token pools operationId: getTokenPools parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: active - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: decimals - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interface - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: interfaceformat - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: locator - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: name - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: networkname - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: published - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: standard - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: symbol - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: active + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: decimals + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interface + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: interfaceformat + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: locator + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: name + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: networkname + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: published + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: standard + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: symbol + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -44618,11 +49435,13 @@ paths: nullable: true properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -44642,14 +49461,17 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -44666,58 +49488,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -44732,8 +49565,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object type: array @@ -44741,29 +49574,31 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates a new token pool operationId: postTokenPool parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -44771,26 +49606,31 @@ paths: properties: config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details type: object connector: - description: The name of the token connector, as specified in the + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -44807,28 +49647,32 @@ paths: type: string type: object key: - description: The signing key used to create the token pool. On input + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string name: - description: The name of the token pool. Note the name is not validated + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object responses: @@ -44838,11 +49682,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -44862,13 +49708,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -44885,58 +49734,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -44951,8 +49811,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -44962,11 +49822,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -44986,13 +49848,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -45009,58 +49874,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -45075,33 +49951,34 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/pools/{nameOrId}: delete: description: Delete a token pool operationId: deleteTokenPool parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -45110,24 +49987,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a token pool by its name or its ID operationId: getTokenPoolByNameOrID parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -45135,11 +50013,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -45159,13 +50039,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -45182,58 +50065,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -45248,45 +50142,47 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/pools/{nameOrId}/publish: post: description: Publish a token pool to all other members of the multiparty network operationId: postTokenPoolPublish parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: An optional name to be used for publishing this definition + description: + An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -45297,11 +50193,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -45321,13 +50219,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -45344,58 +50245,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -45410,8 +50322,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -45421,11 +50333,13 @@ paths: schema: properties: active: - description: Indicates whether the pool has been successfully + description: + Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -45445,13 +50359,16 @@ paths: type: string info: additionalProperties: - description: Token connector specific information about the + description: + Token connector specific information about the pool. See your chosen token connector documentation for details - description: Token connector specific information about the pool. + description: + Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: A reference to an existing FFI, containing pre-registered + description: + A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -45468,58 +50385,69 @@ paths: type: string type: object interfaceFormat: - description: The interface encoding format supported by the connector + description: + The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: The signing key used to create the token pool. On + description: + The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: A unique identifier for the pool, as provided by + description: + A unique identifier for the pool, as provided by the token connector type: string message: - description: The UUID of the broadcast message used to inform + description: + The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: The method definitions resolved by the token connector + description: + The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: The name of the token pool. Note the name is not + description: + The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: The published name of the token pool within the multiparty + description: + The published name of the token pool within the multiparty network type: string published: - description: Indicates if the token pool is published to other + description: + Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: The ERC standard the token pool conforms to, as reported + description: + The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: The token symbol. If supplied on input for an existing + description: + The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: Reference to the FireFly transaction used to create + description: + Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -45534,151 +50462,155 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/transfers: get: description: Gets a list of token transfers operationId: getTokenTransfers parameters: - - description: The sending or receiving token account for a token transfer - in: query - name: fromOrTo - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: amount - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainevent - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: connector - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: from - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: key - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: localid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: message - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: messagehash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: pool - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: protocolid - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: to - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tokenindex - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: tx.type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: uri - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The sending or receiving token account for a token transfer + in: query + name: fromOrTo + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: amount + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainevent + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: connector + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: from + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: key + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: localid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: message + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: messagehash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: pool + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: protocolid + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: to + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tokenindex + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: tx.type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: uri + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -45688,7 +50620,8 @@ paths: nullable: true properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance @@ -45700,7 +50633,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -45710,36 +50644,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -45748,19 +50688,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -45776,9 +50720,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -45789,30 +50733,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Transfers some tokens operationId: postTokenTransfer parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -45820,47 +50766,56 @@ paths: type: string config: additionalProperties: - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: Input only field, with token connector specific configuration + description: + Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: An optional identifier to allow idempotent submission + description: + An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: You can specify a message to correlate with the transfer, + description: + You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: For input allows you to specify data in-line in + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: For input allows you to specify data in-line + description: + For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: The optional datatype to use for validation + description: + The optional datatype to use for validation of the in-line data nullable: true properties: @@ -45868,7 +50823,8 @@ paths: description: The name of the datatype type: string version: - description: The version of the datatype. Semantic + description: + The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -45878,39 +50834,46 @@ paths: nullable: true type: string validator: - description: The data validator type to use for in-line + description: + The data validator type to use for in-line data type: string value: - description: The in-line value for the data. Can be any + description: + The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: Allows you to specify details of the private group + description: + Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: An array of members of the group. If no identities + description: + An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: The DID of the group member. On input + description: + The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: The UUID of the node that will receive + description: + The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -45918,25 +50881,29 @@ paths: type: object type: array name: - description: Optional name for the group. Allows you to + description: + Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: The message header contains all fields that are + description: + The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: The correlation ID of the message. Set this + description: + The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: Private messages only - the identifier hash + description: + Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -45946,50 +50913,55 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: The message tag indicates the purpose of the + description: + The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: A message topic associates this message with + description: + A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: The type of transaction used to order/deliver + description: + The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: An optional unique identifier for a message. Cannot + description: + An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -45999,11 +50971,13 @@ paths: description: The name or UUID of a token pool type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this transfer + description: + The index of the token within the pool that this transfer applies to type: string uri: @@ -46017,7 +50991,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -46029,7 +51004,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -46039,36 +51015,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -46077,19 +51059,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -46105,9 +51091,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -46120,7 +51106,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -46132,7 +51119,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -46142,36 +51130,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -46180,19 +51174,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -46208,9 +51206,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -46220,25 +51218,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/transfers/{transferId}: get: description: Gets a token transfer by its ID operationId: getTokenTransferByID parameters: - - description: The token transfer ID - in: path - name: transferId - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token transfer ID + in: path + name: transferId + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -46246,7 +51245,8 @@ paths: schema: properties: amount: - description: The amount for the transfer. For non-fungible tokens + description: + The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -46258,7 +51258,8 @@ paths: nullable: true type: string connector: - description: The name of the token connector, as specified in + description: + The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -46268,36 +51269,42 @@ paths: nullable: true type: string from: - description: The source account for the transfer. On input defaults + description: + The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: The blockchain signing key for the transfer. On input + description: + The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: The UUID of this token transfer, in the local FireFly + description: + The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: The UUID of a message that has been correlated with + description: + The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: The hash of a message that has been correlated with + description: + The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: The namespace for the transfer, which must match + description: + The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -46306,19 +51313,23 @@ paths: nullable: true type: string protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: The target account for the transfer. On input defaults + description: + The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: The index of the token within the pool that this + description: + The index of the token within the pool that this transfer applies to type: string tx: - description: If submitted via FireFly, this will reference the + description: + If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -46334,9 +51345,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -46346,78 +51357,82 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions: get: description: Gets a list of transactions operationId: getTxns parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainids - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainids + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -46427,12 +51442,14 @@ paths: nullable: true properties: blockchainIds: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain @@ -46440,7 +51457,8 @@ paths: type: string type: array created: - description: The time the transaction was created on this node. + description: + The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -46452,7 +51470,8 @@ paths: nullable: true type: string idempotencyKey: - description: An optional unique identifier for a transaction. + description: + An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -46462,17 +51481,17 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object type: array @@ -46480,84 +51499,88 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}: get: description: Gets a transaction by its ID operationId: getTxnByID parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: blockchainids - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: id - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: idempotencykey - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: blockchainids + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: id + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: idempotencykey + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -46565,19 +51588,22 @@ paths: schema: properties: blockchainIds: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: The blockchain transaction ID, in the format specific + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: The time the transaction was created on this node. + description: + The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -46589,7 +51615,8 @@ paths: nullable: true type: string idempotencyKey: - description: An optional unique identifier for a transaction. + description: + An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -46599,42 +51626,43 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}/blockchainevents: get: description: Gets a list blockchain events for a specific transaction operationId: getTxnBlockchainEvents parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -46650,13 +51678,16 @@ paths: type: string info: additionalProperties: - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector - description: Detailed blockchain specific information about + description: + Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: The UUID of the listener that detected this event, + description: + The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -46665,38 +51696,46 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: The namespace of the listener that detected this + description: + The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: The data output by the event, parsed to JSON + description: + The data output by the event, parsed to JSON according to the interface of the smart contract - description: The data output by the event, parsed to JSON according + description: + The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: An alphanumerically sortable string that represents + description: + An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: The blockchain plugin or token service that detected + description: + The blockchain plugin or token service that detected the event type: string timestamp: - description: The time allocated to this event by the blockchain. + description: + The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: If this blockchain event is coorelated to FireFly + description: + If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: The blockchain transaction ID, in the format + description: + The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -46715,25 +51754,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}/operations: get: description: Gets a list of operations in a specific transaction operationId: getTxnOps parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -46748,7 +51788,8 @@ paths: nullable: true type: string error: - description: Any error reported back from the plugin for this + description: + Any error reported back from the plugin for this operation type: string id: @@ -46766,16 +51807,19 @@ paths: type: string output: additionalProperties: - description: Any output reported back from the plugin for + description: + Any output reported back from the plugin for this operation - description: Any output reported back from the plugin for this + description: + Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: If this operation was initiated as a retry to a + description: + If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -46785,7 +51829,8 @@ paths: description: The current status of the operation type: string tx: - description: The UUID of the FireFly transaction the operation + description: + The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -46793,21 +51838,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -46820,25 +51865,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}/status: get: description: Gets the status of a transaction operationId: getTxnStatus parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -46846,19 +51892,23 @@ paths: schema: properties: details: - description: A set of records describing the activities within + description: + A set of records describing the activities within the transaction known by the local FireFly node items: - description: A set of records describing the activities within + description: + A set of records describing the activities within the transaction known by the local FireFly node nullable: true properties: error: - description: If an error occurred related to the detail + description: + If an error occurred related to the detail entry, it is included here type: string id: - description: The UUID of the entry referenced by this detail. + description: + The UUID of the entry referenced by this detail. The type of this record can be inferred from the entry type format: uuid @@ -46870,16 +51920,19 @@ paths: description: Output details for this entry type: object status: - description: The status of the detail record. Cases where + description: + The status of the detail record. Cases where an event is required for completion, but has not arrived yet are marked with a 'pending' record type: string subtype: - description: A sub-type, such as an operation type, or an + description: + A sub-type, such as an operation type, or an event type type: string timestamp: - description: The time relevant to when the record was updated, + description: + The time relevant to when the record was updated, such as the time an event was created, or the last update time of an operation format: date-time @@ -46891,7 +51944,8 @@ paths: type: object type: array status: - description: The overall computed status of the transaction, after + description: + The overall computed status of the transaction, after analyzing the details during the API call type: string type: object @@ -46899,78 +51953,82 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /verifiers: get: description: Gets a list of verifiers operationId: getVerifiers parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: created - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: hash - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: identity - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: type - schema: - type: string - - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' - in: query - name: value - schema: - type: string - - description: Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk - operations' - in: query - name: skip - schema: - type: string - - description: 'The maximum number of records to return (max: 1,000)' - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: created + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: hash + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: identity + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: type + schema: + type: string + - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" + in: query + name: value + schema: + type: string + - description: + Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: + Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: + "The number of records to skip (max: 1,000). Unsuitable for bulk + operations" + in: query + name: skip + schema: + type: string + - description: "The maximum number of records to return (max: 1,000)" + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -46985,14 +52043,16 @@ paths: nullable: true type: string hash: - description: Hash used as a globally consistent identifier for + description: + Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: The UUID of the parent identity that has claimed + description: + The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -47003,13 +52063,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -47018,26 +52079,27 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /verifiers/{hash}: get: description: Gets a verifier by its hash operationId: getVerifierByID parameters: - - description: The hash of the verifier - in: path - name: hash - required: true - schema: - example: hash - type: string - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the verifier + in: path + name: hash + required: true + schema: + example: hash + type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -47050,14 +52112,16 @@ paths: nullable: true type: string hash: - description: Hash used as a globally consistent identifier for + description: + Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: The UUID of the parent identity that has claimed + description: + The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -47068,13 +52132,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -47082,19 +52147,20 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /verifiers/resolve: post: description: Resolves an input key to a signing key operationId: postVerifiersResolve parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -47103,13 +52169,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, or + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -47122,13 +52189,14 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: The verifier string, such as an Ethereum address, + description: + The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -47136,19 +52204,20 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /websockets: get: description: Gets a list of the current WebSocket connections to this node operationId: getWebSockets parameters: - - description: Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: + Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -47165,35 +52234,42 @@ paths: description: The unique ID assigned to this client connection type: string remoteAddress: - description: The remote address of the connected client + description: + The remote address of the connected client (if available) type: string subscriptions: - description: List of subscriptions currently started by + description: + List of subscriptions currently started by this client items: - description: List of subscriptions currently started by + description: + List of subscriptions currently started by this client nullable: true properties: ephemeral: - description: Indicates whether the subscription is + description: + Indicates whether the subscription is ephemeral (vs durable) type: boolean filter: description: The subscription filter specification properties: author: - description: 'Deprecated: Please use ''message.author'' - instead' + description: + "Deprecated: Please use 'message.author' + instead" type: string blockchainevent: - description: Filters specific to blockchain events. + description: + Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: Regular expression to apply to + description: + Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain @@ -47204,74 +52280,87 @@ paths: on your subscriptions type: string name: - description: Regular expression to apply to + description: + Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: Regular expression to apply to the + description: + Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: 'Deprecated: Please use ''message.group'' - instead' + description: + "Deprecated: Please use 'message.group' + instead" type: string message: - description: Filters specific to message events. + description: + Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: Regular expression to apply to + description: + Regular expression to apply to the message 'header.author' field type: string group: - description: Regular expression to apply to + description: + Regular expression to apply to the message 'header.group' field type: string tag: - description: Regular expression to apply to + description: + Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: 'Deprecated: Please use ''message.tag'' - instead' + description: + "Deprecated: Please use 'message.tag' + instead" type: string topic: - description: Regular expression to apply to the + description: + Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: 'Deprecated: Please use ''topic'' - instead' + description: "Deprecated: Please use 'topic' + instead" type: string transaction: - description: Filters specific to events with a + description: + Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: Regular expression to apply to + description: + Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: The subscription name (for durable subscriptions + description: + The subscription name (for durable subscriptions only) type: string namespace: description: The subscription namespace type: string startTime: - description: The time the subscription started (reset + description: + The time the subscription started (reset on dynamic namespace reload) format: date-time nullable: true @@ -47279,7 +52368,8 @@ paths: type: object type: array userAgent: - description: The user agent of the connected client (if + description: + The user agent of the connected client (if available) type: string type: object @@ -47292,6 +52382,6 @@ paths: default: description: "" tags: - - Global + - Global servers: -- url: http://localhost:5000/api/v1 + - url: http://localhost:5000/api/v1 diff --git a/internal/apiserver/route_post_contract_api_publish.go b/internal/apiserver/route_post_contract_api_publish.go index f9c4602a8b..21de711157 100644 --- a/internal/apiserver/route_post_contract_api_publish.go +++ b/internal/apiserver/route_post_contract_api_publish.go @@ -35,6 +35,7 @@ var postContractAPIPublish = &ffapi.Route{ }, QueryParams: []*ffapi.QueryParam{ {Name: "confirm", Description: coremsgs.APIConfirmMsgQueryParam, IsBool: true}, + {Name: "topics", Description: coremsgs.APICustomTopicsQueryParam, IsArray: true}, }, Description: coremsgs.APIEndpointsPostContractAPIPublish, JSONInputValue: func() interface{} { return &core.DefinitionPublish{} }, @@ -45,7 +46,7 @@ var postContractAPIPublish = &ffapi.Route{ waitConfirm := strings.EqualFold(r.QP["confirm"], "true") r.SuccessStatus = syncRetcode(waitConfirm) input := r.Input.(*core.DefinitionPublish) - return cr.or.DefinitionSender().PublishContractAPI(cr.ctx, cr.apiBaseURL, r.PP["apiName"], input.NetworkName, waitConfirm) + return cr.or.DefinitionSender().PublishContractAPI(cr.ctx, cr.apiBaseURL, r.PP["apiName"], input.NetworkName, waitConfirm, r.QAP["topics"]) }, }, } diff --git a/internal/apiserver/route_post_contract_api_publish_test.go b/internal/apiserver/route_post_contract_api_publish_test.go index d40529ac94..3e460e1adf 100644 --- a/internal/apiserver/route_post_contract_api_publish_test.go +++ b/internal/apiserver/route_post_contract_api_publish_test.go @@ -41,7 +41,26 @@ func TestPostContractAPIPublish(t *testing.T) { res := httptest.NewRecorder() api := &core.ContractAPI{} - mds.On("PublishContractAPI", mock.Anything, "http://127.0.0.1:5000/api/v1/namespaces/ns1", "banana", "banana-net", false).Return(api, nil) + mds.On("PublishContractAPI", mock.Anything, "http://127.0.0.1:5000/api/v1/namespaces/ns1", "banana", "banana-net", false, mock.Anything).Return(api, nil) + r.ServeHTTP(res, req) + + assert.Equal(t, 202, res.Result().StatusCode) +} + +func TestPostContractAPIPublishWithTopics(t *testing.T) { + o, r := newTestAPIServer() + o.On("Authorize", mock.Anything, mock.Anything).Return(nil) + mds := &definitionsmocks.Sender{} + o.On("DefinitionSender").Return(mds) + input := core.DefinitionPublish{NetworkName: "banana-net"} + var buf bytes.Buffer + json.NewEncoder(&buf).Encode(&input) + req := httptest.NewRequest("POST", "/api/v1/namespaces/ns1/apis/banana/publish?topics=my-topic", &buf) + req.Header.Set("Content-Type", "application/json; charset=utf-8") + res := httptest.NewRecorder() + api := &core.ContractAPI{} + + mds.On("PublishContractAPI", mock.Anything, "http://127.0.0.1:5000/api/v1/namespaces/ns1", "banana", "banana-net", false, []string{"my-topic"}).Return(api, nil) r.ServeHTTP(res, req) assert.Equal(t, 202, res.Result().StatusCode) diff --git a/internal/apiserver/route_post_contract_interface_publish.go b/internal/apiserver/route_post_contract_interface_publish.go index 56790402a4..9c3ecb5096 100644 --- a/internal/apiserver/route_post_contract_interface_publish.go +++ b/internal/apiserver/route_post_contract_interface_publish.go @@ -36,6 +36,7 @@ var postContractInterfacePublish = &ffapi.Route{ }, QueryParams: []*ffapi.QueryParam{ {Name: "confirm", Description: coremsgs.APIConfirmMsgQueryParam, IsBool: true}, + {Name: "topics", Description: coremsgs.APICustomTopicsQueryParam, IsArray: true}, }, Description: coremsgs.APIEndpointsPostContractInterfacePublish, JSONInputValue: func() interface{} { return &core.DefinitionPublish{} }, @@ -46,7 +47,7 @@ var postContractInterfacePublish = &ffapi.Route{ waitConfirm := strings.EqualFold(r.QP["confirm"], "true") r.SuccessStatus = syncRetcode(waitConfirm) input := r.Input.(*core.DefinitionPublish) - return cr.or.DefinitionSender().PublishFFI(cr.ctx, r.PP["name"], r.PP["version"], input.NetworkName, waitConfirm) + return cr.or.DefinitionSender().PublishFFI(cr.ctx, r.PP["name"], r.PP["version"], input.NetworkName, waitConfirm, r.QAP["topics"]) }, }, } diff --git a/internal/apiserver/route_post_contract_interface_publish_test.go b/internal/apiserver/route_post_contract_interface_publish_test.go index 16f9279c83..541e9c23ac 100644 --- a/internal/apiserver/route_post_contract_interface_publish_test.go +++ b/internal/apiserver/route_post_contract_interface_publish_test.go @@ -42,7 +42,26 @@ func TestPostContractInterfacePublish(t *testing.T) { res := httptest.NewRecorder() ffi := &fftypes.FFI{} - mds.On("PublishFFI", mock.Anything, "ffi1", "1.0", "", false).Return(ffi, nil) + mds.On("PublishFFI", mock.Anything, "ffi1", "1.0", "", false, mock.Anything).Return(ffi, nil) + r.ServeHTTP(res, req) + + assert.Equal(t, 202, res.Result().StatusCode) +} + +func TestPostContractInterfacePublishWithTopics(t *testing.T) { + o, r := newTestAPIServer() + o.On("Authorize", mock.Anything, mock.Anything).Return(nil) + mds := &definitionsmocks.Sender{} + o.On("DefinitionSender").Return(mds) + input := core.TokenPool{} + var buf bytes.Buffer + json.NewEncoder(&buf).Encode(&input) + req := httptest.NewRequest("POST", "/api/v1/namespaces/ns1/contracts/interfaces/ffi1/1.0/publish?topics=my-topic", &buf) + req.Header.Set("Content-Type", "application/json; charset=utf-8") + res := httptest.NewRecorder() + ffi := &fftypes.FFI{} + + mds.On("PublishFFI", mock.Anything, "ffi1", "1.0", "", false, []string{"my-topic"}).Return(ffi, nil) r.ServeHTTP(res, req) assert.Equal(t, 202, res.Result().StatusCode) diff --git a/internal/apiserver/route_post_new_contract_api.go b/internal/apiserver/route_post_new_contract_api.go index e9bfe34879..422a34a2d8 100644 --- a/internal/apiserver/route_post_new_contract_api.go +++ b/internal/apiserver/route_post_new_contract_api.go @@ -34,6 +34,7 @@ var postNewContractAPI = &ffapi.Route{ QueryParams: []*ffapi.QueryParam{ {Name: "confirm", Description: coremsgs.APIConfirmMsgQueryParam, IsBool: true, Example: "true"}, {Name: "publish", Description: coremsgs.APIPublishQueryParam, IsBool: true}, + {Name: "topics", Description: coremsgs.APICustomTopicsQueryParam, IsArray: true}, }, Description: coremsgs.APIEndpointsPostNewContractAPI, JSONInputValue: func() interface{} { return &core.ContractAPI{} }, @@ -49,7 +50,7 @@ var postNewContractAPI = &ffapi.Route{ api := r.Input.(*core.ContractAPI) api.ID = nil api.Published = strings.EqualFold(r.QP["publish"], "true") - err = cr.or.DefinitionSender().DefineContractAPI(cr.ctx, cr.apiBaseURL, api, waitConfirm) + err = cr.or.DefinitionSender().DefineContractAPI(cr.ctx, cr.apiBaseURL, api, waitConfirm, r.QAP["topics"]) return api, err }, }, diff --git a/internal/apiserver/route_post_new_contract_api_test.go b/internal/apiserver/route_post_new_contract_api_test.go index 97c668e6cd..05d138ac42 100644 --- a/internal/apiserver/route_post_new_contract_api_test.go +++ b/internal/apiserver/route_post_new_contract_api_test.go @@ -42,7 +42,7 @@ func TestPostNewContractAPI(t *testing.T) { req.Header.Set("Content-Type", "application/json; charset=utf-8") res := httptest.NewRecorder() - mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), false).Return(nil) + mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), false, mock.Anything).Return(nil) r.ServeHTTP(res, req) assert.Equal(t, 202, res.Result().StatusCode) @@ -61,8 +61,27 @@ func TestPostNewContractAPISync(t *testing.T) { req.Header.Set("Content-Type", "application/json; charset=utf-8") res := httptest.NewRecorder() - mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), true).Return(nil) + mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), true, mock.Anything).Return(nil) r.ServeHTTP(res, req) assert.Equal(t, 200, res.Result().StatusCode) } + +func TestPostNewContractAPIWithTopics(t *testing.T) { + o, r := newTestAPIServer() + o.On("Authorize", mock.Anything, mock.Anything).Return(nil) + mds := &definitionsmocks.Sender{} + o.On("Contracts").Return(&contractmocks.Manager{}) + o.On("DefinitionSender").Return(mds) + input := core.Datatype{} + var buf bytes.Buffer + json.NewEncoder(&buf).Encode(&input) + req := httptest.NewRequest("POST", "/api/v1/namespaces/ns1/apis?topics=my-topic", &buf) + req.Header.Set("Content-Type", "application/json; charset=utf-8") + res := httptest.NewRecorder() + + mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), false, []string{"my-topic"}).Return(nil) + r.ServeHTTP(res, req) + + assert.Equal(t, 202, res.Result().StatusCode) +} diff --git a/internal/apiserver/route_post_new_contract_interface.go b/internal/apiserver/route_post_new_contract_interface.go index abfd08acea..848177962a 100644 --- a/internal/apiserver/route_post_new_contract_interface.go +++ b/internal/apiserver/route_post_new_contract_interface.go @@ -34,6 +34,7 @@ var postNewContractInterface = &ffapi.Route{ QueryParams: []*ffapi.QueryParam{ {Name: "confirm", Description: coremsgs.APIConfirmMsgQueryParam, IsBool: true, Example: "true"}, {Name: "publish", Description: coremsgs.APIPublishQueryParam, IsBool: true}, + {Name: "topics", Description: coremsgs.APICustomTopicsQueryParam, IsArray: true}, }, Description: coremsgs.APIEndpointsPostNewContractInterface, JSONInputValue: func() interface{} { return &fftypes.FFI{} }, @@ -48,7 +49,7 @@ var postNewContractInterface = &ffapi.Route{ r.SuccessStatus = syncRetcode(waitConfirm) ffi := r.Input.(*fftypes.FFI) ffi.Published = strings.EqualFold(r.QP["publish"], "true") - err = cr.or.DefinitionSender().DefineFFI(cr.ctx, ffi, waitConfirm) + err = cr.or.DefinitionSender().DefineFFI(cr.ctx, ffi, waitConfirm, r.QAP["topics"]) return ffi, err }, }, diff --git a/internal/apiserver/route_post_new_contract_interface_test.go b/internal/apiserver/route_post_new_contract_interface_test.go index 34b4794600..777880c094 100644 --- a/internal/apiserver/route_post_new_contract_interface_test.go +++ b/internal/apiserver/route_post_new_contract_interface_test.go @@ -42,7 +42,7 @@ func TestPostNewContractInterface(t *testing.T) { req.Header.Set("Content-Type", "application/json; charset=utf-8") res := httptest.NewRecorder() - mds.On("DefineFFI", mock.Anything, mock.AnythingOfType("*fftypes.FFI"), false).Return(nil) + mds.On("DefineFFI", mock.Anything, mock.AnythingOfType("*fftypes.FFI"), false, mock.Anything).Return(nil) r.ServeHTTP(res, req) assert.Equal(t, 202, res.Result().StatusCode) @@ -61,8 +61,27 @@ func TestPostNewContractInterfaceSync(t *testing.T) { req.Header.Set("Content-Type", "application/json; charset=utf-8") res := httptest.NewRecorder() - mds.On("DefineFFI", mock.Anything, mock.AnythingOfType("*fftypes.FFI"), true).Return(nil) + mds.On("DefineFFI", mock.Anything, mock.AnythingOfType("*fftypes.FFI"), true, mock.Anything).Return(nil) r.ServeHTTP(res, req) assert.Equal(t, 200, res.Result().StatusCode) } + +func TestPostNewContractInterfaceWithTopics(t *testing.T) { + o, r := newTestAPIServer() + o.On("Authorize", mock.Anything, mock.Anything).Return(nil) + mds := &definitionsmocks.Sender{} + o.On("Contracts").Return(&contractmocks.Manager{}) + o.On("DefinitionSender").Return(mds) + input := core.Datatype{} + var buf bytes.Buffer + json.NewEncoder(&buf).Encode(&input) + req := httptest.NewRequest("POST", "/api/v1/namespaces/ns1/contracts/interfaces?topics=my-topic", &buf) + req.Header.Set("Content-Type", "application/json; charset=utf-8") + res := httptest.NewRecorder() + + mds.On("DefineFFI", mock.Anything, mock.AnythingOfType("*fftypes.FFI"), false, []string{"my-topic"}).Return(nil) + r.ServeHTTP(res, req) + + assert.Equal(t, 202, res.Result().StatusCode) +} diff --git a/internal/apiserver/route_put_contract_api.go b/internal/apiserver/route_put_contract_api.go index 818c5e0fe3..df59c5be39 100644 --- a/internal/apiserver/route_put_contract_api.go +++ b/internal/apiserver/route_put_contract_api.go @@ -36,6 +36,7 @@ var putContractAPI = &ffapi.Route{ }, QueryParams: []*ffapi.QueryParam{ {Name: "confirm", Description: coremsgs.APIConfirmMsgQueryParam, IsBool: true, Example: "true"}, + {Name: "topics", Description: coremsgs.APICustomTopicsQueryParam, IsArray: true}, }, Description: coremsgs.APIParamsContractAPIID, JSONInputValue: func() interface{} { return &core.ContractAPI{} }, @@ -51,7 +52,7 @@ var putContractAPI = &ffapi.Route{ api := r.Input.(*core.ContractAPI) api.ID, err = fftypes.ParseUUID(cr.ctx, r.PP["id"]) if err == nil { - err = cr.or.DefinitionSender().DefineContractAPI(cr.ctx, cr.apiBaseURL, api, waitConfirm) + err = cr.or.DefinitionSender().DefineContractAPI(cr.ctx, cr.apiBaseURL, api, waitConfirm, r.QAP["topics"]) } return api, err }, diff --git a/internal/apiserver/route_put_contract_api_test.go b/internal/apiserver/route_put_contract_api_test.go index eb6369c03c..3e4801d6b2 100644 --- a/internal/apiserver/route_put_contract_api_test.go +++ b/internal/apiserver/route_put_contract_api_test.go @@ -42,7 +42,7 @@ func TestPutContractAPI(t *testing.T) { req.Header.Set("Content-Type", "application/json; charset=utf-8") res := httptest.NewRecorder() - mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), false).Return(nil) + mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), false, mock.Anything).Return(nil) r.ServeHTTP(res, req) assert.Equal(t, 202, res.Result().StatusCode) @@ -61,8 +61,27 @@ func TestPutContractAPISync(t *testing.T) { req.Header.Set("Content-Type", "application/json; charset=utf-8") res := httptest.NewRecorder() - mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), true).Return(nil) + mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), true, mock.Anything).Return(nil) r.ServeHTTP(res, req) assert.Equal(t, 200, res.Result().StatusCode) } + +func TestPutContractAPIWithTopics(t *testing.T) { + o, r := newTestAPIServer() + o.On("Authorize", mock.Anything, mock.Anything).Return(nil) + mds := &definitionsmocks.Sender{} + o.On("DefinitionSender").Return(mds) + o.On("Contracts").Return(&contractmocks.Manager{}) + input := core.Datatype{} + var buf bytes.Buffer + json.NewEncoder(&buf).Encode(&input) + req := httptest.NewRequest("PUT", "/api/v1/namespaces/ns1/apis/99EEE458-037C-4C78-B66B-31E52F93D2E9?topics=my-topic", &buf) + req.Header.Set("Content-Type", "application/json; charset=utf-8") + res := httptest.NewRecorder() + + mds.On("DefineContractAPI", mock.Anything, mock.Anything, mock.AnythingOfType("*core.ContractAPI"), false, []string{"my-topic"}).Return(nil) + r.ServeHTTP(res, req) + + assert.Equal(t, 202, res.Result().StatusCode) +} diff --git a/internal/coremsgs/en_api_translations.go b/internal/coremsgs/en_api_translations.go index 02f1a96d5c..4d3c5d84a7 100644 --- a/internal/coremsgs/en_api_translations.go +++ b/internal/coremsgs/en_api_translations.go @@ -216,4 +216,6 @@ var ( APISubscriptionStartSequenceID = ffm("api.startsequenceid", "The sequence ID in the raw event stream to start indexing through events from. Leave blank to start indexing from the most recent events") APISubscriptionEndSequenceID = ffm("api.endsequenceid", "The sequence ID in the raw event stream to stop indexing through events at. Leave blank to start indexing from the most recent events") + + APICustomTopicsQueryParam = ffm("api.customTopicsQueryParam", "Custom topics for ordering definition broadcast messages") ) diff --git a/internal/definitions/sender.go b/internal/definitions/sender.go index 70f3664095..5e3f401fb1 100644 --- a/internal/definitions/sender.go +++ b/internal/definitions/sender.go @@ -43,10 +43,10 @@ type Sender interface { DefineDatatype(ctx context.Context, datatype *core.Datatype, waitConfirm bool) error DefineTokenPool(ctx context.Context, pool *core.TokenPool, waitConfirm bool) error PublishTokenPool(ctx context.Context, poolNameOrID, networkName string, waitConfirm bool) (*core.TokenPool, error) - DefineFFI(ctx context.Context, ffi *fftypes.FFI, waitConfirm bool) error - PublishFFI(ctx context.Context, name, version, networkName string, waitConfirm bool) (*fftypes.FFI, error) - DefineContractAPI(ctx context.Context, httpServerURL string, api *core.ContractAPI, waitConfirm bool) error - PublishContractAPI(ctx context.Context, httpServerURL, name, networkName string, waitConfirm bool) (api *core.ContractAPI, err error) + DefineFFI(ctx context.Context, ffi *fftypes.FFI, waitConfirm bool, topics []string) error + PublishFFI(ctx context.Context, name, version, networkName string, waitConfirm bool, topics []string) (*fftypes.FFI, error) + DefineContractAPI(ctx context.Context, httpServerURL string, api *core.ContractAPI, waitConfirm bool, topics []string) error + PublishContractAPI(ctx context.Context, httpServerURL, name, networkName string, waitConfirm bool, topics []string) (api *core.ContractAPI, err error) } type definitionSender struct { @@ -135,35 +135,46 @@ func (w *sendWrapper) send(ctx context.Context, waitConfirm bool) (*core.Message } } -func (ds *definitionSender) getSenderDefault(ctx context.Context, def core.Definition, tag string) *sendWrapper { +func (ds *definitionSender) getSenderDefault(ctx context.Context, def core.Definition, tag string, customTopics []string) *sendWrapper { org, err := ds.identity.GetRootOrg(ctx) if err != nil { return wrapSendError(err) } return ds.getSender(ctx, def, &core.SignerRef{ /* resolve to node default */ Author: org.DID, - }, tag) + }, tag, customTopics) } -func (ds *definitionSender) getSender(ctx context.Context, def core.Definition, signingIdentity *core.SignerRef, tag string) *sendWrapper { +func (ds *definitionSender) getSender(ctx context.Context, def core.Definition, signingIdentity *core.SignerRef, tag string, customTopics []string) *sendWrapper { err := ds.identity.ResolveInputSigningIdentity(ctx, signingIdentity) if err != nil { return wrapSendError(err) } - return ds.getSenderResolved(ctx, def, signingIdentity, tag) + return ds.getSenderResolved(ctx, def, signingIdentity, tag, customTopics) } -func (ds *definitionSender) getSenderResolved(ctx context.Context, def core.Definition, signingIdentity *core.SignerRef, tag string) *sendWrapper { +func (ds *definitionSender) getSenderResolved(ctx context.Context, def core.Definition, signingIdentity *core.SignerRef, tag string, customTopics []string) *sendWrapper { b, err := json.Marshal(&def) if err != nil { return wrapSendError(i18n.WrapError(ctx, err, coremsgs.MsgSerializationFailed)) } + topics := fftypes.FFStringArray{def.Topic()} + + var filtered []string + for _, t := range customTopics { + if t != "" { + filtered = append(filtered, t) + } + } + if len(filtered) > 0 { + topics = fftypes.FFStringArray(filtered) + } dataValue := fftypes.JSONAnyPtrBytes(b) message := &core.MessageInOut{ Message: core.Message{ Header: core.MessageHeader{ Type: core.MessageTypeDefinition, - Topics: fftypes.FFStringArray{def.Topic()}, + Topics: topics, Tag: tag, TxType: core.TransactionTypeBatchPin, SignerRef: *signingIdentity, diff --git a/internal/definitions/sender_contracts.go b/internal/definitions/sender_contracts.go index 7264a9f926..6c83a9562a 100644 --- a/internal/definitions/sender_contracts.go +++ b/internal/definitions/sender_contracts.go @@ -26,7 +26,7 @@ import ( "github.com/hyperledger/firefly/pkg/core" ) -func (ds *definitionSender) DefineFFI(ctx context.Context, ffi *fftypes.FFI, waitConfirm bool) error { +func (ds *definitionSender) DefineFFI(ctx context.Context, ffi *fftypes.FFI, waitConfirm bool, topics []string) error { ffi.ID = fftypes.NewUUID() ffi.Namespace = ds.namespace for _, method := range ffi.Methods { @@ -43,7 +43,7 @@ func (ds *definitionSender) DefineFFI(ctx context.Context, ffi *fftypes.FFI, wai if !ds.multiparty { return i18n.NewError(ctx, coremsgs.MsgActionNotSupported) } - _, err := ds.getFFISender(ctx, ffi).send(ctx, waitConfirm) + _, err := ds.getFFISender(ctx, ffi, topics).send(ctx, waitConfirm) return err } @@ -60,7 +60,7 @@ func (ds *definitionSender) DefineFFI(ctx context.Context, ffi *fftypes.FFI, wai }) } -func (ds *definitionSender) getFFISender(ctx context.Context, ffi *fftypes.FFI) *sendWrapper { +func (ds *definitionSender) getFFISender(ctx context.Context, ffi *fftypes.FFI, topics []string) *sendWrapper { if err := ds.contracts.ResolveFFI(ctx, ffi); err != nil { return wrapSendError(err) } @@ -82,7 +82,7 @@ func (ds *definitionSender) getFFISender(ctx context.Context, ffi *fftypes.FFI) ffi.Namespace = "" ffi.Published = true - sender := ds.getSenderDefault(ctx, ffi, core.SystemTagDefineFFI) + sender := ds.getSenderDefault(ctx, ffi, core.SystemTagDefineFFI, topics) if sender.message != nil { ffi.Message = sender.message.Header.ID } @@ -92,7 +92,7 @@ func (ds *definitionSender) getFFISender(ctx context.Context, ffi *fftypes.FFI) return sender } -func (ds *definitionSender) PublishFFI(ctx context.Context, name, version, networkName string, waitConfirm bool) (ffi *fftypes.FFI, err error) { +func (ds *definitionSender) PublishFFI(ctx context.Context, name, version, networkName string, waitConfirm bool, topics []string) (ffi *fftypes.FFI, err error) { if !ds.multiparty { return nil, i18n.NewError(ctx, coremsgs.MsgActionNotSupported) } @@ -106,7 +106,7 @@ func (ds *definitionSender) PublishFFI(ctx context.Context, name, version, netwo return i18n.NewError(ctx, coremsgs.MsgAlreadyPublished) } ffi.NetworkName = networkName - sender = ds.getFFISender(ctx, ffi) + sender = ds.getFFISender(ctx, ffi, topics) if sender.err != nil { return sender.err } @@ -120,7 +120,7 @@ func (ds *definitionSender) PublishFFI(ctx context.Context, name, version, netwo return ffi, err } -func (ds *definitionSender) DefineContractAPI(ctx context.Context, httpServerURL string, api *core.ContractAPI, waitConfirm bool) error { +func (ds *definitionSender) DefineContractAPI(ctx context.Context, httpServerURL string, api *core.ContractAPI, waitConfirm bool, topics []string) error { if api.ID == nil { api.ID = fftypes.NewUUID() } @@ -130,7 +130,7 @@ func (ds *definitionSender) DefineContractAPI(ctx context.Context, httpServerURL if !ds.multiparty { return i18n.NewError(ctx, coremsgs.MsgActionNotSupported) } - _, err := ds.getContractAPISender(ctx, httpServerURL, api).send(ctx, waitConfirm) + _, err := ds.getContractAPISender(ctx, httpServerURL, api, topics).send(ctx, waitConfirm) return err } @@ -141,7 +141,7 @@ func (ds *definitionSender) DefineContractAPI(ctx context.Context, httpServerURL }) } -func (ds *definitionSender) getContractAPISender(ctx context.Context, httpServerURL string, api *core.ContractAPI) *sendWrapper { +func (ds *definitionSender) getContractAPISender(ctx context.Context, httpServerURL string, api *core.ContractAPI, topics []string) *sendWrapper { if err := ds.contracts.ResolveContractAPI(ctx, httpServerURL, api); err != nil { return wrapSendError(err) } @@ -174,7 +174,7 @@ func (ds *definitionSender) getContractAPISender(ctx context.Context, httpServer api.Namespace = "" api.Published = true - sender := ds.getSenderDefault(ctx, api, core.SystemTagDefineContractAPI) + sender := ds.getSenderDefault(ctx, api, core.SystemTagDefineContractAPI, topics) if sender.message != nil { api.Message = sender.message.Header.ID } @@ -184,7 +184,7 @@ func (ds *definitionSender) getContractAPISender(ctx context.Context, httpServer return sender } -func (ds *definitionSender) PublishContractAPI(ctx context.Context, httpServerURL, name, networkName string, waitConfirm bool) (api *core.ContractAPI, err error) { +func (ds *definitionSender) PublishContractAPI(ctx context.Context, httpServerURL, name, networkName string, waitConfirm bool, topics []string) (api *core.ContractAPI, err error) { if !ds.multiparty { return nil, i18n.NewError(ctx, coremsgs.MsgActionNotSupported) } @@ -198,7 +198,7 @@ func (ds *definitionSender) PublishContractAPI(ctx context.Context, httpServerUR return i18n.NewError(ctx, coremsgs.MsgAlreadyPublished) } api.NetworkName = networkName - sender = ds.getContractAPISender(ctx, httpServerURL, api) + sender = ds.getContractAPISender(ctx, httpServerURL, api, topics) if sender.err != nil { return sender.err } diff --git a/internal/definitions/sender_contracts_test.go b/internal/definitions/sender_contracts_test.go index b0717cc460..9f71de6b56 100644 --- a/internal/definitions/sender_contracts_test.go +++ b/internal/definitions/sender_contracts_test.go @@ -44,7 +44,7 @@ func TestDefineFFIResolveFail(t *testing.T) { ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(fmt.Errorf("pop")) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.EqualError(t, err, "pop") } @@ -63,7 +63,7 @@ func TestDefineFFIFail(t *testing.T) { ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(nil) ds.mim.On("GetRootOrg", context.Background()).Return(nil, fmt.Errorf("pop")) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.EqualError(t, err, "pop") } @@ -80,7 +80,7 @@ func TestDefineFFIFailInnerError(t *testing.T) { ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(nil) ds.mdi.On("InsertOrGetFFI", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("error2: [%w]", fmt.Errorf("pop"))) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.Regexp(t, "pop", err) } @@ -98,7 +98,7 @@ func TestDefineFFIExists(t *testing.T) { ds.mdi.On("GetFFIByNetworkName", context.Background(), "ns1", "ffi1", "1.0").Return(&fftypes.FFI{}, nil) ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(nil) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.Regexp(t, "FF10448", err) } @@ -116,7 +116,7 @@ func TestDefineFFIQueryFail(t *testing.T) { ds.mdi.On("GetFFIByNetworkName", context.Background(), "ns1", "ffi1", "1.0").Return(nil, fmt.Errorf("pop")) ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(nil) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.EqualError(t, err, "pop") } @@ -144,7 +144,7 @@ func TestDefineFFIOk(t *testing.T) { ds.mbm.On("NewBroadcast", mock.Anything).Return(mms) mms.On("Send", context.Background()).Return(nil) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.NoError(t, err) mms.AssertExpectations(t) @@ -174,7 +174,7 @@ func TestDefineFFIConfirm(t *testing.T) { ds.mbm.On("NewBroadcast", mock.Anything).Return(mms) mms.On("SendAndWait", context.Background()).Return(nil) - err := ds.DefineFFI(context.Background(), ffi, true) + err := ds.DefineFFI(context.Background(), ffi, true, nil) assert.NoError(t, err) mms.AssertExpectations(t) @@ -191,7 +191,7 @@ func TestDefineFFIPublishNonMultiparty(t *testing.T) { Published: true, } - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.Regexp(t, "FF10414", err) } @@ -208,7 +208,7 @@ func TestDefineFFINonMultiparty(t *testing.T) { ds.mdi.On("InsertOrGetFFI", context.Background(), ffi).Return(nil, nil) ds.mdi.On("InsertEvent", context.Background(), mock.Anything).Return(nil) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.NoError(t, err) } @@ -223,10 +223,41 @@ func TestDefineFFINonMultipartyFail(t *testing.T) { ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(fmt.Errorf("pop")) - err := ds.DefineFFI(context.Background(), ffi, false) + err := ds.DefineFFI(context.Background(), ffi, false, nil) assert.Regexp(t, "FF10403", err) } +// test that we can call defineFFI with custom topics +func TestDefineFFICustomTopics(t *testing.T) { + ds := newTestDefinitionSender(t) + defer ds.cleanup(t) + ds.multiparty = true + + ffi := &fftypes.FFI{ + Name: "ffi1", + Version: "1.0", + Published: true, + } + + ds.mdi.On("GetFFIByNetworkName", context.Background(), "ns1", "ffi1", "1.0").Return(nil, nil) + ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(nil) + ds.mim.On("GetRootOrg", context.Background()).Return(&core.Identity{ + IdentityBase: core.IdentityBase{ + DID: "firefly:org1", + }, + }, nil) + ds.mim.On("ResolveInputSigningIdentity", context.Background(), mock.Anything).Return(nil) + + mms := &syncasyncmocks.Sender{} + ds.mbm.On("NewBroadcast", mock.Anything).Return(mms) + mms.On("Send", context.Background()).Return(nil) + + err := ds.DefineFFI(context.Background(), ffi, false, []string{"my-custom-topic"}) + assert.NoError(t, err) + + mms.AssertExpectations(t) +} + func TestDefineContractAPIResolveFail(t *testing.T) { ds := newTestDefinitionSender(t) defer ds.cleanup(t) @@ -240,7 +271,7 @@ func TestDefineContractAPIResolveFail(t *testing.T) { ds.mcm.On("ResolveContractAPI", context.Background(), url, api).Return(fmt.Errorf("pop")) - err := ds.DefineContractAPI(context.Background(), url, api, false) + err := ds.DefineContractAPI(context.Background(), url, api, false, nil) assert.EqualError(t, err, "pop") } @@ -259,7 +290,7 @@ func TestDefineContractAPIFail(t *testing.T) { ds.mim.On("GetRootOrg", context.Background()).Return(nil, fmt.Errorf("pop")) ds.mdi.On("GetContractAPIByNetworkName", context.Background(), "ns1", "banana").Return(nil, nil) - err := ds.DefineContractAPI(context.Background(), url, api, false) + err := ds.DefineContractAPI(context.Background(), url, api, false, nil) assert.EqualError(t, err, "pop") } @@ -287,7 +318,7 @@ func TestDefineContractAPIOk(t *testing.T) { ds.mbm.On("NewBroadcast", mock.Anything).Return(mms) mms.On("Send", context.Background()).Return(nil) - err := ds.DefineContractAPI(context.Background(), url, api, false) + err := ds.DefineContractAPI(context.Background(), url, api, false, nil) assert.NoError(t, err) mms.AssertExpectations(t) @@ -304,7 +335,7 @@ func TestDefineContractAPINonMultiparty(t *testing.T) { ds.mdi.On("InsertOrGetContractAPI", mock.Anything, mock.Anything).Return(nil, nil) ds.mdi.On("InsertEvent", mock.Anything, mock.Anything).Return(nil) - err := ds.DefineContractAPI(context.Background(), url, api, false) + err := ds.DefineContractAPI(context.Background(), url, api, false, nil) assert.NoError(t, err) } @@ -319,7 +350,7 @@ func TestDefineContractAPIPublishNonMultiparty(t *testing.T) { Published: true, } - err := ds.DefineContractAPI(context.Background(), url, api, false) + err := ds.DefineContractAPI(context.Background(), url, api, false, nil) assert.Regexp(t, "FF10414", err) } @@ -340,10 +371,41 @@ func TestDefineContractAPINonMultipartyUpdate(t *testing.T) { ds.mdi.On("UpsertContractAPI", mock.Anything, mock.Anything, mock.Anything).Return(nil) ds.mdi.On("InsertEvent", mock.Anything, mock.Anything).Return(nil) - err := ds.DefineContractAPI(context.Background(), url, api, false) + err := ds.DefineContractAPI(context.Background(), url, api, false, nil) assert.NoError(t, err) } +// test that we can call defineContractAPI with custom topics +func TestDefineContractAPICustomTopics(t *testing.T) { + ds := newTestDefinitionSender(t) + defer ds.cleanup(t) + ds.multiparty = true + + url := "http://firefly" + api := &core.ContractAPI{ + Name: "banana", + Published: true, + } + + ds.mcm.On("ResolveContractAPI", context.Background(), url, api).Return(nil) + ds.mim.On("GetRootOrg", context.Background()).Return(&core.Identity{ + IdentityBase: core.IdentityBase{ + DID: "firefly:org1", + }, + }, nil) + ds.mim.On("ResolveInputSigningIdentity", context.Background(), mock.Anything).Return(nil) + ds.mdi.On("GetContractAPIByNetworkName", context.Background(), "ns1", "banana").Return(nil, nil) + + mms := &syncasyncmocks.Sender{} + ds.mbm.On("NewBroadcast", mock.Anything).Return(mms) + mms.On("Send", context.Background()).Return(nil) + + err := ds.DefineContractAPI(context.Background(), url, api, false, []string{"my-custom-topic"}) + assert.NoError(t, err) + + mms.AssertExpectations(t) +} + func TestPublishFFI(t *testing.T) { ds := newTestDefinitionSender(t) defer ds.cleanup(t) @@ -372,7 +434,7 @@ func TestPublishFFI(t *testing.T) { mms.On("Send", context.Background()).Return(nil) mockRunAsGroupPassthrough(ds.mdi) - result, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false) + result, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false, nil) assert.NoError(t, err) assert.Equal(t, ffi, result) assert.True(t, ffi.Published) @@ -395,7 +457,7 @@ func TestPublishFFIAlreadyPublished(t *testing.T) { ds.mcm.On("GetFFIWithChildren", context.Background(), "ffi1", "1.0").Return(ffi, nil) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false) + _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false, nil) assert.Regexp(t, "FF10450", err) } @@ -407,7 +469,7 @@ func TestPublishFFIQueryFail(t *testing.T) { ds.mcm.On("GetFFIWithChildren", context.Background(), "ffi1", "1.0").Return(nil, fmt.Errorf("pop")) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false) + _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false, nil) assert.EqualError(t, err, "pop") } @@ -427,7 +489,7 @@ func TestPublishFFIResolveFail(t *testing.T) { ds.mcm.On("ResolveFFI", context.Background(), ffi).Return(fmt.Errorf("pop")) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false) + _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false, nil) assert.EqualError(t, err, "pop") } @@ -458,7 +520,7 @@ func TestPublishFFIPrepareFail(t *testing.T) { mms.On("Prepare", context.Background()).Return(fmt.Errorf("pop")) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false) + _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false, nil) assert.EqualError(t, err, "pop") mms.AssertExpectations(t) @@ -469,7 +531,7 @@ func TestPublishFFINonMultiparty(t *testing.T) { defer ds.cleanup(t) ds.multiparty = false - _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false) + _, err := ds.PublishFFI(context.Background(), "ffi1", "1.0", "ffi1-shared", false, nil) assert.Regexp(t, "FF10414", err) } @@ -501,7 +563,7 @@ func TestPublishContractAPI(t *testing.T) { mms.On("Send", context.Background()).Return(nil) mockRunAsGroupPassthrough(ds.mdi) - result, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + result, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.NoError(t, err) assert.Equal(t, api, result) assert.True(t, api.Published) @@ -524,7 +586,7 @@ func TestPublishContractAPIAlreadyPublished(t *testing.T) { ds.mcm.On("GetContractAPI", context.Background(), url, "api").Return(api, nil) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.Regexp(t, "FF10450", err) } @@ -538,7 +600,7 @@ func TestPublishContractAPIQueryFail(t *testing.T) { ds.mcm.On("GetContractAPI", context.Background(), url, "api").Return(nil, fmt.Errorf("pop")) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.EqualError(t, err, "pop") } @@ -558,7 +620,7 @@ func TestPublishContractAPIResolveFail(t *testing.T) { ds.mcm.On("ResolveContractAPI", context.Background(), url, api).Return(fmt.Errorf("pop")) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.EqualError(t, err, "pop") } @@ -569,7 +631,7 @@ func TestPublishContractAPINonMultiparty(t *testing.T) { url := "http://firefly" - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.Regexp(t, "FF10414", err) } @@ -590,7 +652,7 @@ func TestPublishContractAPINetworkNameFail(t *testing.T) { ds.mcm.On("ResolveContractAPI", context.Background(), url, api).Return(nil) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.EqualError(t, err, "pop") } @@ -611,7 +673,7 @@ func TestPublishContractAPINetworkNameConflict(t *testing.T) { ds.mcm.On("ResolveContractAPI", context.Background(), url, api).Return(nil) mockRunAsGroupPassthrough(ds.mdi) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.Regexp(t, "FF10448", err) } @@ -636,7 +698,7 @@ func TestPublishContractAPIInterfaceFail(t *testing.T) { mockRunAsGroupPassthrough(ds.mdi) ds.mdi.On("GetFFIByID", context.Background(), "ns1", api.Interface.ID).Return(nil, fmt.Errorf("pop")) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.EqualError(t, err, "pop") } @@ -661,7 +723,7 @@ func TestPublishContractAPIInterfaceNotFound(t *testing.T) { mockRunAsGroupPassthrough(ds.mdi) ds.mdi.On("GetFFIByID", context.Background(), "ns1", api.Interface.ID).Return(nil, nil) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.Regexp(t, "FF10303", err) } @@ -688,6 +750,6 @@ func TestPublishContractAPIInterfaceNotPublished(t *testing.T) { Published: false, }, nil) - _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false) + _, err := ds.PublishContractAPI(context.Background(), url, "api", "api-shared", false, nil) assert.Regexp(t, "FF10451", err) } diff --git a/internal/definitions/sender_datatype.go b/internal/definitions/sender_datatype.go index d34ee9e9e9..6ee3fb025e 100644 --- a/internal/definitions/sender_datatype.go +++ b/internal/definitions/sender_datatype.go @@ -44,7 +44,7 @@ func (ds *definitionSender) DefineDatatype(ctx context.Context, datatype *core.D } datatype.Namespace = "" - msg, err := ds.getSenderDefault(ctx, datatype, core.SystemTagDefineDatatype).send(ctx, waitConfirm) + msg, err := ds.getSenderDefault(ctx, datatype, core.SystemTagDefineDatatype, nil).send(ctx, waitConfirm) if msg != nil { datatype.Message = msg.Header.ID } diff --git a/internal/definitions/sender_identity.go b/internal/definitions/sender_identity.go index 02986684db..3a3db16d7b 100644 --- a/internal/definitions/sender_identity.go +++ b/internal/definitions/sender_identity.go @@ -34,7 +34,7 @@ func (ds *definitionSender) ClaimIdentity(ctx context.Context, claim *core.Ident } claim.Identity.Namespace = "" - claimMsg, err := ds.getSenderResolved(ctx, claim, signingIdentity, core.SystemTagIdentityClaim).send(ctx, false) + claimMsg, err := ds.getSenderResolved(ctx, claim, signingIdentity, core.SystemTagIdentityClaim, nil).send(ctx, false) if err != nil { return err } @@ -48,7 +48,7 @@ func (ds *definitionSender) ClaimIdentity(ctx context.Context, claim *core.Ident Hash: claimMsg.Hash, }, Identity: claim.Identity.IdentityBase, - }, parentSigner, core.SystemTagIdentityVerification).send(ctx, false) + }, parentSigner, core.SystemTagIdentityVerification, nil).send(ctx, false) if err != nil { return err } @@ -66,7 +66,7 @@ func (ds *definitionSender) ClaimIdentity(ctx context.Context, claim *core.Ident func (ds *definitionSender) UpdateIdentity(ctx context.Context, identity *core.Identity, def *core.IdentityUpdate, signingIdentity *core.SignerRef, waitConfirm bool) error { if ds.multiparty { - updateMsg, err := ds.getSender(ctx, def, signingIdentity, core.SystemTagIdentityUpdate).send(ctx, waitConfirm) + updateMsg, err := ds.getSender(ctx, def, signingIdentity, core.SystemTagIdentityUpdate, nil).send(ctx, waitConfirm) identity.Messages.Update = updateMsg.Header.ID return err } diff --git a/internal/definitions/sender_test.go b/internal/definitions/sender_test.go index 261c5c3579..935a845296 100644 --- a/internal/definitions/sender_test.go +++ b/internal/definitions/sender_test.go @@ -149,7 +149,7 @@ func TestCreateDefinitionConfirm(t *testing.T) { mms.On("SendAndWait", mock.Anything).Return(nil) ds.multiparty = true - _, err := ds.getSenderDefault(ds.ctx, &core.Datatype{}, core.SystemTagDefineDatatype).send(ds.ctx, true) + _, err := ds.getSenderDefault(ds.ctx, &core.Datatype{}, core.SystemTagDefineDatatype, nil).send(ds.ctx, true) assert.NoError(t, err) mim.AssertExpectations(t) @@ -176,7 +176,7 @@ func TestCreateDatatypeDefinitionAsNodeConfirm(t *testing.T) { ds.multiparty = true - _, err := ds.getSenderDefault(ds.ctx, &core.Datatype{}, core.SystemTagDefineDatatype).send(ds.ctx, true) + _, err := ds.getSenderDefault(ds.ctx, &core.Datatype{}, core.SystemTagDefineDatatype, nil).send(ds.ctx, true) assert.NoError(t, err) mim.AssertExpectations(t) @@ -195,6 +195,6 @@ func TestCreateDefinitionBadIdentity(t *testing.T) { _, err := ds.getSender(ds.ctx, &core.Datatype{}, &core.SignerRef{ Author: "wrong", Key: "wrong", - }, core.SystemTagDefineDatatype).send(ds.ctx, false) + }, core.SystemTagDefineDatatype, nil).send(ds.ctx, false) assert.Regexp(t, "pop", err) } diff --git a/internal/definitions/sender_tokenpool.go b/internal/definitions/sender_tokenpool.go index 1b02783c51..c7960dc613 100644 --- a/internal/definitions/sender_tokenpool.go +++ b/internal/definitions/sender_tokenpool.go @@ -97,7 +97,7 @@ func (ds *definitionSender) getTokenPoolSender(ctx context.Context, pool *core.T pool.Active = false definition := &core.TokenPoolDefinition{Pool: pool} - sender := ds.getSenderDefault(ctx, definition, core.SystemTagDefinePool) + sender := ds.getSenderDefault(ctx, definition, core.SystemTagDefinePool, nil) if sender.message != nil { pool.Message = sender.message.Header.ID } diff --git a/mocks/definitionsmocks/sender.go b/mocks/definitionsmocks/sender.go index d4720e15c7..374761353e 100644 --- a/mocks/definitionsmocks/sender.go +++ b/mocks/definitionsmocks/sender.go @@ -35,17 +35,17 @@ func (_m *Sender) ClaimIdentity(ctx context.Context, def *core.IdentityClaim, si return r0 } -// DefineContractAPI provides a mock function with given fields: ctx, httpServerURL, api, waitConfirm -func (_m *Sender) DefineContractAPI(ctx context.Context, httpServerURL string, api *core.ContractAPI, waitConfirm bool) error { - ret := _m.Called(ctx, httpServerURL, api, waitConfirm) +// DefineContractAPI provides a mock function with given fields: ctx, httpServerURL, api, waitConfirm, topics +func (_m *Sender) DefineContractAPI(ctx context.Context, httpServerURL string, api *core.ContractAPI, waitConfirm bool, topics []string) error { + ret := _m.Called(ctx, httpServerURL, api, waitConfirm, topics) if len(ret) == 0 { panic("no return value specified for DefineContractAPI") } var r0 error - if rf, ok := ret.Get(0).(func(context.Context, string, *core.ContractAPI, bool) error); ok { - r0 = rf(ctx, httpServerURL, api, waitConfirm) + if rf, ok := ret.Get(0).(func(context.Context, string, *core.ContractAPI, bool, []string) error); ok { + r0 = rf(ctx, httpServerURL, api, waitConfirm, topics) } else { r0 = ret.Error(0) } @@ -71,17 +71,17 @@ func (_m *Sender) DefineDatatype(ctx context.Context, datatype *core.Datatype, w return r0 } -// DefineFFI provides a mock function with given fields: ctx, ffi, waitConfirm -func (_m *Sender) DefineFFI(ctx context.Context, ffi *fftypes.FFI, waitConfirm bool) error { - ret := _m.Called(ctx, ffi, waitConfirm) +// DefineFFI provides a mock function with given fields: ctx, ffi, waitConfirm, topics +func (_m *Sender) DefineFFI(ctx context.Context, ffi *fftypes.FFI, waitConfirm bool, topics []string) error { + ret := _m.Called(ctx, ffi, waitConfirm, topics) if len(ret) == 0 { panic("no return value specified for DefineFFI") } var r0 error - if rf, ok := ret.Get(0).(func(context.Context, *fftypes.FFI, bool) error); ok { - r0 = rf(ctx, ffi, waitConfirm) + if rf, ok := ret.Get(0).(func(context.Context, *fftypes.FFI, bool, []string) error); ok { + r0 = rf(ctx, ffi, waitConfirm, topics) } else { r0 = ret.Error(0) } @@ -125,9 +125,9 @@ func (_m *Sender) Name() string { return r0 } -// PublishContractAPI provides a mock function with given fields: ctx, httpServerURL, name, networkName, waitConfirm -func (_m *Sender) PublishContractAPI(ctx context.Context, httpServerURL string, name string, networkName string, waitConfirm bool) (*core.ContractAPI, error) { - ret := _m.Called(ctx, httpServerURL, name, networkName, waitConfirm) +// PublishContractAPI provides a mock function with given fields: ctx, httpServerURL, name, networkName, waitConfirm, topics +func (_m *Sender) PublishContractAPI(ctx context.Context, httpServerURL string, name string, networkName string, waitConfirm bool, topics []string) (*core.ContractAPI, error) { + ret := _m.Called(ctx, httpServerURL, name, networkName, waitConfirm, topics) if len(ret) == 0 { panic("no return value specified for PublishContractAPI") @@ -135,19 +135,19 @@ func (_m *Sender) PublishContractAPI(ctx context.Context, httpServerURL string, var r0 *core.ContractAPI var r1 error - if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool) (*core.ContractAPI, error)); ok { - return rf(ctx, httpServerURL, name, networkName, waitConfirm) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, []string) (*core.ContractAPI, error)); ok { + return rf(ctx, httpServerURL, name, networkName, waitConfirm, topics) } - if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool) *core.ContractAPI); ok { - r0 = rf(ctx, httpServerURL, name, networkName, waitConfirm) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, []string) *core.ContractAPI); ok { + r0 = rf(ctx, httpServerURL, name, networkName, waitConfirm, topics) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(*core.ContractAPI) } } - if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool) error); ok { - r1 = rf(ctx, httpServerURL, name, networkName, waitConfirm) + if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool, []string) error); ok { + r1 = rf(ctx, httpServerURL, name, networkName, waitConfirm, topics) } else { r1 = ret.Error(1) } @@ -155,9 +155,9 @@ func (_m *Sender) PublishContractAPI(ctx context.Context, httpServerURL string, return r0, r1 } -// PublishFFI provides a mock function with given fields: ctx, name, version, networkName, waitConfirm -func (_m *Sender) PublishFFI(ctx context.Context, name string, version string, networkName string, waitConfirm bool) (*fftypes.FFI, error) { - ret := _m.Called(ctx, name, version, networkName, waitConfirm) +// PublishFFI provides a mock function with given fields: ctx, name, version, networkName, waitConfirm, topics +func (_m *Sender) PublishFFI(ctx context.Context, name string, version string, networkName string, waitConfirm bool, topics []string) (*fftypes.FFI, error) { + ret := _m.Called(ctx, name, version, networkName, waitConfirm, topics) if len(ret) == 0 { panic("no return value specified for PublishFFI") @@ -165,19 +165,19 @@ func (_m *Sender) PublishFFI(ctx context.Context, name string, version string, n var r0 *fftypes.FFI var r1 error - if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool) (*fftypes.FFI, error)); ok { - return rf(ctx, name, version, networkName, waitConfirm) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, []string) (*fftypes.FFI, error)); ok { + return rf(ctx, name, version, networkName, waitConfirm, topics) } - if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool) *fftypes.FFI); ok { - r0 = rf(ctx, name, version, networkName, waitConfirm) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, []string) *fftypes.FFI); ok { + r0 = rf(ctx, name, version, networkName, waitConfirm, topics) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(*fftypes.FFI) } } - if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool) error); ok { - r1 = rf(ctx, name, version, networkName, waitConfirm) + if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool, []string) error); ok { + r1 = rf(ctx, name, version, networkName, waitConfirm, topics) } else { r1 = ret.Error(1) } From 5f8317b300ff03419a8ee24cb953d49a76a043d9 Mon Sep 17 00:00:00 2001 From: Kaijun Zhang Date: Wed, 1 Apr 2026 16:27:31 -0400 Subject: [PATCH 2/2] -update: generated swagger Signed-off-by: Kaijun Zhang --- doc-site/docs/swagger/swagger.yaml | 36634 ++++++++++++--------------- 1 file changed, 15807 insertions(+), 20827 deletions(-) diff --git a/doc-site/docs/swagger/swagger.yaml b/doc-site/docs/swagger/swagger.yaml index c9cab4daf0..919556a869 100644 --- a/doc-site/docs/swagger/swagger.yaml +++ b/doc-site/docs/swagger/swagger.yaml @@ -9,76 +9,72 @@ paths: description: Gets a list of contract APIs that have been published operationId: getContractAPIs parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: networkname - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: published - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: networkname + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: published + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -93,8 +89,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -111,36 +106,31 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true type: string name: - description: - The name that is used in the URL to access the + description: The name that is used in the URL to access the API type: string namespace: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -150,13 +140,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -166,47 +154,44 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates and broadcasts a new custom smart contract API operationId: postNewContractAPI parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -223,8 +208,7 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of a + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -234,8 +218,7 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string type: object @@ -251,8 +234,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -269,16 +251,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -290,13 +270,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -306,13 +284,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -329,8 +305,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -347,16 +322,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -368,13 +341,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -384,13 +355,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -399,26 +368,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}: delete: description: Delete a contract API operationId: deleteContractAPI parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -427,27 +395,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: - description: - Gets information about a contract API, including the URLs for the + description: Gets information about a contract API, including the URLs for the OpenAPI Spec and Swagger UI for the API operationId: getContractAPIByName parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -460,8 +426,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -478,16 +443,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -499,13 +462,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -515,13 +476,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -530,40 +489,45 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace put: description: The ID of the contract API operationId: putContractAPI parameters: - - description: The name of the contract API - in: path - name: id - required: true - schema: - example: id - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: id + required: true + schema: + example: id + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -580,8 +544,7 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of a + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -591,8 +554,7 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string type: object @@ -608,8 +570,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -626,16 +587,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -647,13 +606,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -663,13 +620,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -686,8 +641,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -704,16 +658,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -725,13 +677,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -741,13 +691,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -756,26 +704,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/interface: get: description: Gets a contract interface for a contract API operationId: getContractAPIInterface parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -800,8 +747,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -819,14 +765,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -836,13 +780,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -858,12 +800,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -873,8 +813,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -892,14 +831,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -909,28 +846,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -946,12 +879,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -961,8 +892,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -980,14 +910,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -997,8 +925,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -1009,14 +936,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -1028,26 +953,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -1055,102 +976,90 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/invoke/{methodPath}: post: - description: - Invokes a method on a smart contract API. Performs a blockchain + description: Invokes a method on a smart contract API. Performs a blockchain transaction. operationId: postContractAPIInvoke parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - You can specify a message to correlate with the invocation, + description: You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -1158,8 +1067,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -1169,46 +1077,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -1216,29 +1117,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -1248,55 +1145,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -1304,11 +1196,9 @@ paths: type: object options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -1324,8 +1214,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -1343,19 +1232,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -1365,8 +1251,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -1374,21 +1259,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -1408,8 +1293,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -1427,19 +1311,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -1449,8 +1330,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -1458,21 +1338,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -1484,126 +1364,121 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/listeners/{eventPath}: get: description: Gets a list of contract listeners operationId: getContractAPIListeners parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: backendid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: filters - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: location - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: signature - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: backendid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: filters + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: location + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: signature + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -1613,8 +1488,7 @@ paths: nullable: true properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -1623,8 +1497,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array + of ''filters'' instead' nullable: true properties: description: @@ -1632,12 +1506,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -1651,14 +1523,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -1669,22 +1539,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -1694,13 +1561,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -1709,25 +1574,21 @@ paths: description: The name of the event type: string params: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -1739,8 +1600,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -1758,15 +1618,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -1777,9 +1635,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -1795,41 +1652,35 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -1840,44 +1691,40 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: - description: - Creates a new blockchain listener for events emitted by custom + description: Creates a new blockchain listener for events emitted by custom smart contracts operationId: postContractAPIListeners parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: - "Deprecated: Please use 'event' in the array of 'filters' - instead" + description: 'Deprecated: Please use ''event'' in the array of ''filters'' + instead' nullable: true properties: description: @@ -1885,12 +1732,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -1904,14 +1749,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -1922,31 +1765,27 @@ paths: type: array type: object location: - description: - "Deprecated: Please use 'location' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array of + ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: - Options that control how the listener subscribes to + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block number, + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -1959,8 +1798,7 @@ paths: schema: properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -1969,8 +1807,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array of + ''filters'' instead' nullable: true properties: description: @@ -1978,12 +1816,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -1997,14 +1833,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -2015,22 +1849,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -2040,13 +1871,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2056,21 +1885,18 @@ paths: params: description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -2082,8 +1908,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -2101,15 +1926,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -2120,9 +1943,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -2138,40 +1960,35 @@ paths: type: string type: object location: - description: "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -2181,46 +1998,44 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/publish: post: description: Publish a contract API to all other members of the multiparty network operationId: postContractAPIPublish parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: - An optional name to be used for publishing this definition + description: An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -2248,8 +2063,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -2267,14 +2081,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2284,13 +2096,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -2306,12 +2116,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2321,8 +2129,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -2340,14 +2147,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2357,28 +2162,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -2394,12 +2195,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2409,8 +2208,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -2428,14 +2226,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2445,8 +2241,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -2457,14 +2252,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2476,26 +2269,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -2523,8 +2312,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -2542,14 +2330,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2559,13 +2345,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -2581,12 +2365,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2596,8 +2378,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -2615,14 +2396,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2632,28 +2411,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -2669,12 +2444,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -2684,8 +2457,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -2703,14 +2475,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2720,8 +2490,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -2732,14 +2501,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -2751,26 +2518,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -2778,78 +2541,68 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /apis/{apiName}/query/{methodPath}: post: - description: - Queries a method on a smart contract API. Performs a read-only + description: Queries a method on a smart contract API. Performs a read-only query. operationId: postContractAPIQuery parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -2864,355 +2617,113 @@ paths: default: description: "" tags: - - Default Namespace - /apis/{id}: - put: - description: The ID of the contract API - operationId: putContractAPI - parameters: - - description: The ID of the contract API - in: path - name: id - required: true - schema: - example: id - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - requestBody: - content: - application/json: - schema: - properties: - interface: - description: - Reference to the FireFly Interface definition associated - with the contract API - nullable: true - properties: - id: - description: The UUID of the FireFly interface - format: uuid - nullable: true - type: string - name: - description: The name of the FireFly interface - type: string - version: - description: The version of the FireFly interface - type: string - type: object - location: - additionalProperties: true - description: - If this API is tied to an individual instance of a - smart contract, this field can include a blockchain specific contract - identifier. For example an Ethereum contract address, or a Fabric - chaincode name and channel - nullable: true - type: object - name: - description: The name that is used in the URL to access the API - type: string - networkName: - description: - The published name of the API within the multiparty - network - type: string - type: object - required: true - responses: - "200": - content: - application/json: - schema: - properties: - id: - description: The UUID of the contract API - format: uuid - nullable: true - type: string - interface: - description: - Reference to the FireFly Interface definition associated - with the contract API - nullable: true - properties: - id: - description: The UUID of the FireFly interface - format: uuid - nullable: true - type: string - name: - description: The name of the FireFly interface - type: string - version: - description: The version of the FireFly interface - type: string - type: object - location: - additionalProperties: true - description: - If this API is tied to an individual instance of - a smart contract, this field can include a blockchain specific - contract identifier. For example an Ethereum contract address, - or a Fabric chaincode name and channel - nullable: true - type: object - message: - description: - The UUID of the broadcast message that was used to - publish this API to the network - format: uuid - nullable: true - type: string - name: - description: The name that is used in the URL to access the API - type: string - namespace: - description: The namespace of the contract API - type: string - networkName: - description: - The published name of the API within the multiparty - network - type: string - published: - description: - Indicates if the API is published to other members - of the multiparty network - type: boolean - urls: - description: The URLs to use to access the API - properties: - api: - description: The URL to use to invoke the API - type: string - openapi: - description: - The URL to download the OpenAPI v3 (Swagger) - description for the API generated in JSON or YAML format - type: string - ui: - description: - The URL to use in a web browser to access the - SwaggerUI explorer/exerciser for the API - type: string - type: object - type: object - description: Success - "202": - content: - application/json: - schema: - properties: - id: - description: The UUID of the contract API - format: uuid - nullable: true - type: string - interface: - description: - Reference to the FireFly Interface definition associated - with the contract API - nullable: true - properties: - id: - description: The UUID of the FireFly interface - format: uuid - nullable: true - type: string - name: - description: The name of the FireFly interface - type: string - version: - description: The version of the FireFly interface - type: string - type: object - location: - additionalProperties: true - description: - If this API is tied to an individual instance of - a smart contract, this field can include a blockchain specific - contract identifier. For example an Ethereum contract address, - or a Fabric chaincode name and channel - nullable: true - type: object - message: - description: - The UUID of the broadcast message that was used to - publish this API to the network - format: uuid - nullable: true - type: string - name: - description: The name that is used in the URL to access the API - type: string - namespace: - description: The namespace of the contract API - type: string - networkName: - description: - The published name of the API within the multiparty - network - type: string - published: - description: - Indicates if the API is published to other members - of the multiparty network - type: boolean - urls: - description: The URLs to use to access the API - properties: - api: - description: The URL to use to invoke the API - type: string - openapi: - description: - The URL to download the OpenAPI v3 (Swagger) - description for the API generated in JSON or YAML format - type: string - ui: - description: - The URL to use in a web browser to access the - SwaggerUI explorer/exerciser for the API - type: string - type: object - type: object - description: Success - default: - description: "" - tags: - - Default Namespace + - Default Namespace /batches: get: description: Gets a list of message batches operationId: getBatches parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: node - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: payloadref - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: node + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: payloadref + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -3235,8 +2746,7 @@ paths: nullable: true type: string group: - description: - The privacy group the batch is sent to, for private + description: The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -3281,8 +2791,8 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object type: array @@ -3290,26 +2800,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /batches/{batchid}: get: description: Gets a message batch operationId: getBatchByID parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -3330,8 +2839,7 @@ paths: nullable: true type: string group: - description: - The privacy group the batch is sent to, for private + description: The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -3376,34 +2884,33 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /batches/{batchid}/cancel: post: description: Cancel a batch that has failed to dispatch operationId: postBatchCancel parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: {} @@ -3415,102 +2922,98 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /blockchainevents: get: description: Gets a list of blockchain events operationId: getBlockchainEvents parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: listener - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: protocolid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: source - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: timestamp - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.blockchainid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: listener + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: protocolid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: source + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: timestamp + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.blockchainid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -3526,16 +3029,13 @@ paths: type: string info: additionalProperties: - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: - The UUID of the listener that detected this event, + description: The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -3544,46 +3044,38 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: - The namespace of the listener that detected this + description: The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: - The data output by the event, parsed to JSON + description: The data output by the event, parsed to JSON according to the interface of the smart contract - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: - The blockchain plugin or token service that detected + description: The blockchain plugin or token service that detected the event type: string timestamp: - description: - The time allocated to this event by the blockchain. + description: The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: - If this blockchain event is coorelated to FireFly + description: If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -3602,26 +3094,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /blockchainevents/{id}: get: description: Gets a blockchain event operationId: getBlockchainEventByID parameters: - - description: The blockchain event ID - in: path - name: id - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blockchain event ID + in: path + name: id + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -3635,16 +3126,13 @@ paths: type: string info: additionalProperties: - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector - description: - Detailed blockchain specific information about the + description: Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: - The UUID of the listener that detected this event, + description: The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -3653,46 +3141,38 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: - The namespace of the listener that detected this + description: The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: - The blockchain plugin or token service that detected + description: The blockchain plugin or token service that detected the event type: string timestamp: - description: - The time allocated to this event by the blockchain. + description: The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: - If this blockchain event is coorelated to FireFly + description: If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -3710,44 +3190,42 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /charts/histogram/{collection}: get: - description: - Gets a JSON object containing statistics data that can be used + description: Gets a JSON object containing statistics data that can be used to build a graphical representation of recent activity in a given database collection operationId: getChartHistogram parameters: - - description: The collection ID - in: path - name: collection - required: true - schema: - type: string - - description: Start time of the data to be fetched - in: query - name: startTime - schema: - type: string - - description: End time of the data to be fetched - in: query - name: endTime - schema: - type: string - - description: Number of buckets between start time and end time - in: query - name: buckets - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The collection ID + in: path + name: collection + required: true + schema: + type: string + - description: Start time of the data to be fetched + in: query + name: startTime + schema: + type: string + - description: End time of the data to be fetched + in: query + name: endTime + schema: + type: string + - description: Number of buckets between start time and end time + in: query + name: buckets + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -3757,13 +3235,11 @@ paths: nullable: true properties: count: - description: - Total count of entries in this time bucket within + description: Total count of entries in this time bucket within the histogram type: string isCapped: - description: - Indicates whether there are more results in this + description: Indicates whether there are more results in this bucket that are not being displayed type: boolean timestamp: @@ -3772,18 +3248,15 @@ paths: nullable: true type: string types: - description: - Array of separate counts for individual types of + description: Array of separate counts for individual types of record within the bucket items: - description: - Array of separate counts for individual types + description: Array of separate counts for individual types of record within the bucket nullable: true properties: count: - description: - Count of entries of a given type within a + description: Count of entries of a given type within a bucket type: string type: @@ -3797,34 +3270,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/deploy: post: description: Deploy a new smart contract operationId: postContractDeploy parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: contract: - description: - The smart contract to deploy. This should be pre-compiled + description: The smart contract to deploy. This should be pre-compiled if required by the blockchain connector nullable: true type: string @@ -3833,32 +3304,26 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: - description: - An optional array of inputs passed to the smart contract's + description: An optional array of inputs passed to the smart contract's constructor, if applicable items: - description: - An optional array of inputs passed to the smart contract's + description: An optional array of inputs passed to the smart contract's constructor, if applicable type: array key: - description: - The blockchain signing key that will be used to deploy + description: The blockchain signing key that will be used to deploy the contract. Defaults to the first signing key of the organization that operates the node type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -3874,8 +3339,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -3893,19 +3357,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -3915,8 +3376,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -3924,21 +3384,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -3958,8 +3418,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -3977,19 +3436,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -3999,8 +3455,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -4008,21 +3463,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -4034,82 +3489,78 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces: get: description: Gets a list of contract interfaces that have been published operationId: getContractInterfaces parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: networkname - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: published - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: version - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: networkname + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: published + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: version + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -4136,8 +3587,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -4155,15 +3605,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -4174,13 +3622,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -4196,12 +3642,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4211,8 +3655,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -4230,15 +3673,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -4249,28 +3690,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -4286,12 +3723,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4301,8 +3736,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -4320,15 +3754,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -4339,8 +3771,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -4351,15 +3782,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -4372,26 +3801,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -4400,39 +3825,37 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates and broadcasts a new custom smart contract interface operationId: postNewContractInterface parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -4460,14 +3883,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -4489,12 +3910,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4508,14 +3927,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -4537,12 +3954,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4556,14 +3971,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -4579,14 +3992,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -4598,18 +4009,15 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart contract + description: The name of the FFI - usually matching the smart contract name type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -4637,8 +4045,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -4656,14 +4063,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4673,13 +4078,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -4695,12 +4098,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4710,8 +4111,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -4729,14 +4129,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4746,28 +4144,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -4783,12 +4177,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -4798,8 +4190,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -4817,14 +4208,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4834,8 +4223,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -4846,14 +4234,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -4865,26 +4251,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -4892,26 +4274,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/{interfaceId}: delete: description: Delete a contract interface operationId: deleteContractInterface parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -4920,33 +4301,31 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a contract interface by its ID operationId: getContractInterface parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: - When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -4971,8 +4350,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -4990,14 +4368,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5007,13 +4383,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -5029,12 +4403,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5044,8 +4416,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -5063,14 +4434,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5080,28 +4449,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -5117,12 +4482,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5132,8 +4495,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -5151,14 +4513,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5168,8 +4528,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -5180,14 +4539,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5199,26 +4556,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -5226,40 +4579,38 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/{name}/{version}: get: description: Gets a contract interface by its name and version operationId: getContractInterfaceByNameAndVersion parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: - When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -5284,8 +4635,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -5303,14 +4653,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5320,13 +4668,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -5342,12 +4688,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5357,8 +4701,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -5376,14 +4719,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5393,28 +4734,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -5430,12 +4767,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5445,8 +4780,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -5464,14 +4798,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5481,8 +4813,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -5493,14 +4824,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5512,26 +4841,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -5539,54 +4864,51 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/{name}/{version}/publish: post: - description: - Publish a contract interface to all other members of the multiparty + description: Publish a contract interface to all other members of the multiparty network operationId: postContractInterfacePublish parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: - An optional name to be used for publishing this definition + description: An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -5614,8 +4936,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -5633,14 +4954,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5650,13 +4969,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -5672,12 +4989,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5687,8 +5002,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -5706,14 +5020,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5723,28 +5035,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -5760,12 +5068,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5775,8 +5081,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -5794,14 +5099,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5811,8 +5114,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -5823,14 +5125,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5842,26 +5142,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -5889,8 +5185,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -5908,14 +5203,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5925,13 +5218,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -5947,12 +5238,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -5962,8 +5251,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -5981,14 +5269,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -5998,28 +5284,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -6035,12 +5317,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6050,8 +5330,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -6069,14 +5348,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -6086,8 +5363,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -6098,14 +5374,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -6117,26 +5391,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -6144,37 +5414,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/interfaces/generate: post: - description: - A convenience method to convert a blockchain specific smart contract + description: A convenience method to convert a blockchain specific smart contract format into a FireFly Interface format. The specific blockchain plugin in use must support this functionality. operationId: postGenerateContractInterface parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - The description of the FFI to be generated. Defaults + description: The description of the FFI to be generated. Defaults to the description extracted by the blockchain specific converter utility type: string input: - description: - A blockchain connector specific payload. For example + description: A blockchain connector specific payload. For example in Ethereum this is a JSON structure containing an 'abi' array, and optionally a 'devdocs' array. nullable: true @@ -6213,8 +5479,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -6232,14 +5497,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -6249,13 +5512,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -6271,12 +5532,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6286,8 +5545,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -6305,14 +5563,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -6322,28 +5578,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -6359,12 +5611,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6374,8 +5624,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -6393,14 +5642,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -6410,8 +5657,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -6422,14 +5668,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -6441,26 +5685,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -6468,40 +5708,36 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/invoke: post: description: Invokes a method on a smart contract. Performs a blockchain transaction. operationId: postContractInvoke parameters: - - description: - When true the HTTP request blocks until the blockchain transaction - is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the blockchain transaction + is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -6518,14 +5754,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -6537,26 +5771,22 @@ paths: type: object type: array idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: - The UUID of a method within a pre-configured FireFly + description: The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -6565,42 +5795,36 @@ paths: nullable: true type: string key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - You can specify a message to correlate with the invocation, + description: You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -6608,8 +5832,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -6619,46 +5842,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -6666,29 +5882,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -6698,63 +5910,57 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: - An in-line FFI method definition for the method to + description: An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -6763,12 +5969,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -6782,14 +5986,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -6805,14 +6007,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -6827,11 +6027,9 @@ paths: type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -6847,8 +6045,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -6866,19 +6063,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -6888,8 +6082,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -6897,21 +6090,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -6931,8 +6124,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -6950,19 +6142,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -6972,8 +6161,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -6981,21 +6169,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -7007,112 +6195,108 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/listeners: get: description: Gets a list of contract listeners operationId: getContractListeners parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: backendid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: filters - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: location - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: signature - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: backendid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: filters + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: location + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: signature + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -7122,8 +6306,7 @@ paths: nullable: true properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -7132,8 +6315,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array + of ''filters'' instead' nullable: true properties: description: @@ -7141,12 +6324,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7160,14 +6341,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -7178,22 +6357,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -7203,13 +6379,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -7218,25 +6392,21 @@ paths: description: The name of the event type: string params: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -7248,8 +6418,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -7267,15 +6436,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -7286,9 +6453,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -7304,41 +6470,35 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -7349,30 +6509,27 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: - description: - Creates a new blockchain listener for events emitted by custom + description: Creates a new blockchain listener for events emitted by custom smart contracts operationId: postNewContractListener parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: - "Deprecated: Please use 'event' in the array of 'filters' - instead" + description: 'Deprecated: Please use ''event'' in the array of ''filters'' + instead' nullable: true properties: description: @@ -7380,12 +6537,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7399,14 +6554,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -7417,26 +6570,23 @@ paths: type: array type: object eventPath: - description: "Deprecated: Please use 'eventPath' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''eventPath'' in the array + of ''filters'' instead' type: string filters: - description: - A list of filters for the contract listener. Each filter + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -7446,12 +6596,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7465,15 +6613,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -7485,14 +6631,12 @@ paths: type: array type: object eventPath: - description: - When creating a listener from an existing FFI, + description: When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -7510,8 +6654,7 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. For + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -7519,8 +6662,8 @@ paths: type: object type: array interface: - description: "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -7536,31 +6679,27 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array of + ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: - Options that control how the listener subscribes to + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block number, + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -7573,8 +6712,7 @@ paths: schema: properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -7583,8 +6721,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array of + ''filters'' instead' nullable: true properties: description: @@ -7592,12 +6730,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7611,14 +6747,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -7629,22 +6763,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -7654,13 +6785,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7670,21 +6799,18 @@ paths: params: description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -7696,8 +6822,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -7715,15 +6840,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -7734,9 +6857,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -7752,40 +6874,35 @@ paths: type: string type: object location: - description: "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -7795,26 +6912,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/listeners/{nameOrId}: delete: description: Deletes a contract listener referenced by its name or its ID operationId: deleteContractListener parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -7823,33 +6939,31 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a contract listener by its name or ID operationId: getContractListenerByNameOrID parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: - When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -7857,8 +6971,7 @@ paths: schema: properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -7867,8 +6980,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array of + ''filters'' instead' nullable: true properties: description: @@ -7876,12 +6989,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7895,14 +7006,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -7913,22 +7022,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -7938,13 +7044,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -7954,21 +7058,18 @@ paths: params: description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -7980,8 +7081,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -7999,15 +7099,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -8018,9 +7116,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -8036,40 +7133,35 @@ paths: type: string type: object location: - description: "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -8079,29 +7171,27 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/listeners/signature: post: description: Calculates the hash of a blockchain listener filters and events operationId: postContractListenerSignature parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: - "Deprecated: Please use 'event' in the array of 'filters' - instead" + description: 'Deprecated: Please use ''event'' in the array of ''filters'' + instead' nullable: true properties: description: @@ -8109,12 +7199,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -8128,14 +7216,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -8146,26 +7232,23 @@ paths: type: array type: object eventPath: - description: "Deprecated: Please use 'eventPath' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''eventPath'' in the array + of ''filters'' instead' type: string filters: - description: - A list of filters for the contract listener. Each filter + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -8175,12 +7258,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -8194,15 +7275,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -8214,14 +7293,12 @@ paths: type: array type: object eventPath: - description: - When creating a listener from an existing FFI, + description: When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -8239,8 +7316,7 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. For + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -8248,8 +7324,8 @@ paths: type: object type: array interface: - description: "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -8265,31 +7341,27 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array of + ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: - Options that control how the listener subscribes to + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block number, + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -8302,8 +7374,7 @@ paths: schema: properties: signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -8311,32 +7382,29 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /contracts/query: post: description: Queries a method on a smart contract. Performs a read-only query. operationId: postContractQuery parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -8353,14 +7421,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -8372,26 +7438,22 @@ paths: type: object type: array idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: - The UUID of a method within a pre-configured FireFly + description: The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -8400,20 +7462,17 @@ paths: nullable: true type: string key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string method: - description: - An in-line FFI method definition for the method to + description: An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -8422,12 +7481,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -8441,14 +7498,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -8464,14 +7519,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -8486,11 +7539,9 @@ paths: type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -8505,122 +7556,118 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data: get: description: Gets a list of data items operationId: getData parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.path - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.public - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.size - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datatype.name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datatype.version - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: public - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: validator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: value - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.path + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.public + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.size + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datatype.name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datatype.version + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: public + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: validator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: value + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -8639,20 +7686,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8667,8 +7711,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -8676,14 +7719,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -8697,8 +7738,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8706,8 +7746,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -8718,27 +7757,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates a new data item in this FireFly node operationId: postData parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: datatype: - description: - The optional datatype to use for validation of the + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -8746,8 +7783,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -8760,8 +7796,7 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON type + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string @@ -8804,20 +7839,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8832,8 +7864,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -8841,14 +7872,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -8862,8 +7891,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8871,8 +7899,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -8882,26 +7909,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}: delete: description: Deletes a data item by its ID, including metadata about this item operationId: deleteData parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -8910,25 +7936,24 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a data item by its ID, including metadata about this item operationId: getDataByID parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -8945,20 +7970,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -8973,8 +7995,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -8982,14 +8003,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -9003,8 +8022,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -9012,8 +8030,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -9023,173 +8040,169 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/blob: get: description: Downloads the original file that was previously uploaded or received operationId: getDataBlob parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -9201,36 +8214,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/blob/publish: post: - description: - Publishes the binary blob attachment stored in your local data + description: Publishes the binary blob attachment stored in your local data exchange, to shared storage operationId: postDataBlobPublish parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -9250,20 +8260,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -9278,8 +8285,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -9287,14 +8293,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -9308,8 +8312,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -9317,8 +8320,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -9328,173 +8330,169 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/messages: get: description: Gets a list of the messages associated with a data item operationId: getDataMsgs parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -9530,23 +8528,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -9557,16 +8552,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -9581,30 +8574,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -9618,38 +8606,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -9658,34 +8644,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -9695,175 +8677,170 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/value: get: - description: - Downloads the JSON value of the data resource, without the associated + description: Downloads the JSON value of the data resource, without the associated metadata operationId: getDataValue parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -9875,36 +8852,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /data/{dataid}/value/publish: post: - description: - Publishes the JSON value from the specified data resource, to shared + description: Publishes the JSON value from the specified data resource, to shared storage operationId: postDataValuePublish parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -9924,20 +8898,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -9952,8 +8923,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -9961,14 +8931,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -9982,8 +8950,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -9991,8 +8958,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -10002,28 +8968,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /datasubpaths/{parent}: get: - description: - Gets a list of path names of named blob data, underneath a given + description: Gets a list of path names of named blob data, underneath a given parent path ('/' path prefixes are automatically pre-prepended) operationId: getDataSubPaths parameters: - - description: The parent path to query - in: path - name: parent - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The parent path to query + in: path + name: parent + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -10036,87 +9000,83 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /datatypes: get: description: Gets a list of datatypes that have been published operationId: getDatatypes parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: validator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: version - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: validator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: version + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -10131,8 +9091,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -10144,8 +9103,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -10154,28 +9112,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -10185,25 +9139,24 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates and broadcasts a new datatype operationId: postNewDatatype parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -10215,19 +9168,17 @@ paths: validator: description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -10244,8 +9195,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. Allows + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -10257,8 +9207,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -10267,28 +9216,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -10305,8 +9250,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. Allows + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -10318,8 +9262,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -10328,28 +9271,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -10358,32 +9297,31 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /datatypes/{name}/{version}: get: description: Gets a datatype by its name and version operationId: getDatatypeByName parameters: - - description: The name of the datatype - in: path - name: name - required: true - schema: - type: string - - description: The version of the datatype - in: path - name: version - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the datatype + in: path + name: name + required: true + schema: + type: string + - description: The version of the datatype + in: path + name: version + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -10396,8 +9334,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. Allows + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -10409,8 +9346,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -10419,28 +9355,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -10449,113 +9381,107 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /events: get: description: Gets a list of events operationId: getEvents parameters: - - description: - When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreferences - schema: - example: "true" - type: string - - description: - When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: correlator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: reference - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreferences + schema: + example: "true" + type: string + - description: When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: correlator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: reference + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -10565,16 +9491,14 @@ paths: nullable: true properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -10584,73 +9508,66 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -10658,34 +9575,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /events/{eid}: get: description: Gets an event by its ID operationId: getEventByID parameters: - - description: The event ID - in: path - name: eid - required: true - schema: - type: string - - description: - When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The event ID + in: path + name: eid + required: true + schema: + type: string + - description: When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -10693,16 +9608,14 @@ paths: schema: properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed to + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -10712,155 +9625,144 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of this + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events are + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. For + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part of. + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted as + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /groups: get: description: Gets a list of groups operationId: getGroups parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: ledger - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: ledger + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -10870,15 +9772,13 @@ paths: nullable: true properties: created: - description: - The time when the group was first used to send + description: The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: - The identifier hash of this group. Derived from + description: The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -10896,8 +9796,7 @@ paths: description: The DID of the group member type: string node: - description: - The UUID of the node that receives a copy + description: The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -10905,20 +9804,17 @@ paths: type: object type: array message: - description: - The message used to broadcast this group privately + description: The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: - The optional name of the group, allowing multiple + description: The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: - The namespace of the group within the multiparty + description: The namespace of the group within the multiparty network type: string type: object @@ -10927,26 +9823,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /groups/{hash}: get: description: Gets a group by its ID (hash) operationId: getGroupByHash parameters: - - description: The hash of the group - in: path - name: hash - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the group + in: path + name: hash + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -10954,15 +9849,13 @@ paths: schema: properties: created: - description: - The time when the group was first used to send a + description: The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: - The identifier hash of this group. Derived from the + description: The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -10980,8 +9873,7 @@ paths: description: The DID of the group member type: string node: - description: - The UUID of the node that receives a copy of + description: The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -10989,20 +9881,17 @@ paths: type: object type: array message: - description: - The message used to broadcast this group privately + description: The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: - The optional name of the group, allowing multiple + description: The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: - The namespace of the group within the multiparty + description: The namespace of the group within the multiparty network type: string type: object @@ -11010,125 +9899,120 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities: get: - description: - Gets a list of all identities that have been registered in the + description: Gets a list of all identities that have been registered in the namespace operationId: getIdentities parameters: - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -11143,13 +10027,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -11158,8 +10040,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -11169,52 +10050,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -11222,13 +10096,11 @@ paths: nullable: true type: string verifiers: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -11236,14 +10108,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -11254,48 +10125,43 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Registers a new identity in the network operationId: postNewIdentity parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string key: - description: - The blockchain signing key to use to make the claim + description: The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: - The name of the identity. The name must be unique within + description: The name of the identity. The name must be unique within the type and namespace type: string parent: - description: - On input the parent can be specified directly as the + description: On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -11303,11 +10169,9 @@ paths: type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -11326,13 +10190,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -11341,8 +10203,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -11352,52 +10213,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -11417,13 +10271,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -11432,8 +10284,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -11443,52 +10294,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -11500,33 +10344,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities/{did}: get: description: Gets an identity by its ID operationId: getIdentityByID parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -11539,13 +10382,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -11554,8 +10395,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -11565,52 +10405,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -11622,47 +10455,43 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace patch: description: Updates an identity operationId: patchUpdateIdentity parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: object @@ -11678,13 +10507,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -11693,8 +10520,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -11704,52 +10530,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -11769,13 +10588,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -11784,8 +10601,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -11795,52 +10611,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -11852,34 +10661,33 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities/{iid}/did: get: description: Gets the DID for an identity based on its ID operationId: getIdentityDID parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - "@context": + '@context': description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -11901,8 +10709,7 @@ paths: nullable: true properties: blockchainAcountId: - description: - For blockchains like Ethereum that represent + description: For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -11910,8 +10717,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: - A string provided by your Data Exchange plugin, + description: A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -11919,8 +10725,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: - For Hyperledger Fabric where the signing identity + description: For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -11934,89 +10739,85 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /identities/{iid}/verifiers: get: description: Gets the verifiers for an identity operationId: getIdentityVerifiers parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: identity - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: value - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: identity + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: value + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -12031,16 +10832,14 @@ paths: nullable: true type: string hash: - description: - Hash used as a globally consistent identifier for + description: Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: - The UUID of the parent identity that has claimed + description: The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -12051,14 +10850,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -12067,172 +10865,168 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages: get: description: Gets a list of messages operationId: getMsgs parameters: - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -12242,8 +11036,7 @@ paths: nullable: true properties: batch: - description: - The UUID of the batch in which the message was + description: The UUID of the batch in which the message was pinned/transferred format: uuid nullable: true @@ -12272,23 +11065,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -12299,16 +11089,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -12323,30 +11111,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -12360,38 +11143,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12400,34 +11181,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -12438,31 +11215,30 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}: get: description: Gets a message by its ID operationId: getMsgByID parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -12480,22 +11256,19 @@ paths: nullable: true type: string data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: - An optional in-line hash reference to a previously + description: An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -12505,20 +11278,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -12528,8 +11298,7 @@ paths: type: integer type: object datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -12537,8 +11306,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -12553,45 +11321,38 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -12599,29 +11360,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -12632,16 +11389,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -12656,30 +11411,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -12693,38 +11443,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -12733,34 +11481,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -12770,26 +11514,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}/data: get: description: Gets the list of data items that are attached to a message operationId: getMsgData parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -12808,20 +11551,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -12836,8 +11576,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -12845,14 +11584,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -12866,8 +11603,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -12875,8 +11611,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -12887,103 +11622,99 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}/events: get: description: Gets the list of events for a message operationId: getMsgEvents parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: correlator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: reference - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: correlator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: reference + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -12993,16 +11724,14 @@ paths: nullable: true properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -13012,73 +11741,66 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -13086,26 +11808,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/{msgid}/transaction: get: description: Gets the transaction for a message operationId: getMsgTxn parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -13113,22 +11834,19 @@ paths: schema: properties: blockchainIds: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: - The time the transaction was created on this node. + description: The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -13140,8 +11858,7 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional unique identifier for a transaction. + description: An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -13151,64 +11868,60 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /messages/broadcast: post: description: Broadcasts a message to all members in the network operationId: postNewMessageBroadcast parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation of + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -13216,8 +11929,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -13230,24 +11942,21 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -13256,55 +11965,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the message + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with an + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver this + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -13345,23 +12049,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -13372,8 +12073,7 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte @@ -13388,30 +12088,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -13425,38 +12120,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -13465,34 +12158,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -13533,23 +12222,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -13560,8 +12246,7 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte @@ -13576,30 +12261,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -13613,38 +12293,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -13653,34 +12331,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -13690,47 +12364,43 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/private: post: description: Privately sends a message to one or more members in the network operationId: postNewMessagePrivate parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation of + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -13738,8 +12408,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -13752,40 +12421,34 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive a + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -13793,29 +12456,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -13825,55 +12484,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the message + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with an + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver this + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -13914,23 +12568,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -13941,16 +12592,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -13965,30 +12614,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -14002,38 +12646,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -14042,34 +12684,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -14110,23 +12748,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -14137,16 +12772,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -14161,30 +12794,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -14198,38 +12826,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -14238,34 +12864,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -14275,44 +12897,39 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /messages/requestreply: post: - description: - Sends a message with a blocking HTTP request, waits for a reply + description: Sends a message with a blocking HTTP request, waits for a reply to that message, then sends the reply as the HTTP response. operationId: postNewMessageRequestReply parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation of + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -14320,8 +12937,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -14334,40 +12950,34 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive a + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -14375,29 +12985,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -14407,55 +13013,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the message + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with an + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver this + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -14478,22 +13079,19 @@ paths: nullable: true type: string data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: - An optional in-line hash reference to a previously + description: An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -14503,20 +13101,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -14526,8 +13121,7 @@ paths: type: integer type: object datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -14535,8 +13129,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -14551,45 +13144,38 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -14597,29 +13183,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -14630,16 +13212,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -14654,30 +13234,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -14691,38 +13266,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -14731,34 +13304,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -14768,29 +13337,27 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /namespaces: get: description: Gets a list of namespaces operationId: getNamespaces parameters: - - description: - When set, the API will return namespaces even if they are not - yet initialized, including in error cases where an initializationError is - included - in: query - name: includeinitializing - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When set, the API will return namespaces even if they are not + yet initialized, including in error cases where an initializationError is + included + in: query + name: includeinitializing + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -14808,8 +13375,7 @@ paths: description: A description of the namespace type: string initializationError: - description: - Set to a non-empty string in the case that the + description: Set to a non-empty string in the case that the namespace is currently failing to initialize type: string initializing: @@ -14819,8 +13385,7 @@ paths: description: The local namespace name type: string networkName: - description: - The shared namespace name within the multiparty + description: The shared namespace name within the multiparty network type: string type: object @@ -14829,27 +13394,26 @@ paths: default: description: "" tags: - - Global + - Global /namespaces/{ns}: get: description: Gets a namespace operationId: getNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -14875,89 +13439,85 @@ paths: default: description: "" tags: - - Global + - Global /namespaces/{ns}/apis: get: description: Gets a list of contract APIs that have been published operationId: getContractAPIsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: networkname - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: published - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: networkname + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: published + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -14972,8 +13532,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -14990,36 +13549,31 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true type: string name: - description: - The name that is used in the URL to access the + description: The name that is used in the URL to access the API type: string namespace: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -15029,13 +13583,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -15045,54 +13597,51 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates and broadcasts a new custom smart contract API operationId: postNewContractAPINamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -15109,8 +13658,7 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of a + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -15120,8 +13668,7 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string type: object @@ -15137,8 +13684,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -15155,16 +13701,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -15176,13 +13720,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -15192,13 +13734,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -15215,8 +13755,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -15233,16 +13772,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -15254,13 +13791,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -15270,13 +13805,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -15285,33 +13818,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}: delete: description: Delete a contract API operationId: deleteContractAPINamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -15320,34 +13852,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: - description: - Gets information about a contract API, including the URLs for the + description: Gets information about a contract API, including the URLs for the OpenAPI Spec and Swagger UI for the API operationId: getContractAPIByNameNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -15360,8 +13890,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -15378,16 +13907,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -15399,13 +13926,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -15415,13 +13940,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -15430,47 +13953,52 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace put: description: The ID of the contract API operationId: putContractAPINamespace parameters: - - description: The name of the contract API - in: path - name: id - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: id + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -15487,8 +14015,7 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of a + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel @@ -15498,8 +14025,7 @@ paths: description: The name that is used in the URL to access the API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string type: object @@ -15515,8 +14041,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -15533,16 +14058,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -15554,13 +14077,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -15570,13 +14091,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -15593,8 +14112,7 @@ paths: nullable: true type: string interface: - description: - Reference to the FireFly Interface definition associated + description: Reference to the FireFly Interface definition associated with the contract API nullable: true properties: @@ -15611,16 +14129,14 @@ paths: type: string type: object location: - description: - If this API is tied to an individual instance of + description: If this API is tied to an individual instance of a smart contract, this field can include a blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this API to the network format: uuid nullable: true @@ -15632,13 +14148,11 @@ paths: description: The namespace of the contract API type: string networkName: - description: - The published name of the API within the multiparty + description: The published name of the API within the multiparty network type: string published: - description: - Indicates if the API is published to other members + description: Indicates if the API is published to other members of the multiparty network type: boolean urls: @@ -15648,13 +14162,11 @@ paths: description: The URL to use to invoke the API type: string openapi: - description: - The URL to download the OpenAPI v3 (Swagger) + description: The URL to download the OpenAPI v3 (Swagger) description for the API generated in JSON or YAML format type: string ui: - description: - The URL to use in a web browser to access the + description: The URL to use in a web browser to access the SwaggerUI explorer/exerciser for the API type: string type: object @@ -15663,33 +14175,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/interface: get: description: Gets a contract interface for a contract API operationId: getContractAPIInterfaceNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -15714,8 +14225,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -15733,14 +14243,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15750,13 +14258,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -15772,12 +14278,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15787,8 +14291,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -15806,14 +14309,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15823,28 +14324,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -15860,12 +14357,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -15875,8 +14370,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -15894,14 +14388,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15911,8 +14403,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -15923,14 +14414,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -15942,26 +14431,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -15969,61 +14454,56 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/invoke/{methodPath}: post: - description: - Invokes a method on a smart contract API. Performs a blockchain + description: Invokes a method on a smart contract API. Performs a blockchain transaction. operationId: postContractAPIInvokeNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -16040,14 +14520,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -16059,26 +14537,22 @@ paths: type: object type: array idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: - The UUID of a method within a pre-configured FireFly + description: The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -16087,42 +14561,36 @@ paths: nullable: true type: string key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - You can specify a message to correlate with the invocation, + description: You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -16130,8 +14598,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -16141,46 +14608,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -16188,29 +14648,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -16220,63 +14676,57 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: - An in-line FFI method definition for the method to + description: An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -16285,12 +14735,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -16304,14 +14752,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -16327,14 +14773,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -16349,11 +14793,9 @@ paths: type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -16369,8 +14811,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -16388,19 +14829,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -16410,8 +14848,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -16419,21 +14856,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -16453,8 +14890,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -16472,19 +14908,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -16494,8 +14927,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -16503,21 +14935,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -16529,133 +14961,128 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/listeners/{eventPath}: get: description: Gets a list of contract listeners operationId: getContractAPIListenersNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: backendid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: filters - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: location - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: signature - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: backendid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: filters + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: location + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: signature + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -16665,8 +15092,7 @@ paths: nullable: true properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -16675,8 +15101,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array + of ''filters'' instead' nullable: true properties: description: @@ -16684,12 +15110,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -16703,14 +15127,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -16721,22 +15143,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -16746,13 +15165,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -16761,25 +15178,21 @@ paths: description: The name of the event type: string params: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -16791,8 +15204,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -16810,15 +15222,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -16829,9 +15239,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -16847,41 +15256,35 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -16892,51 +15295,47 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: - description: - Creates a new blockchain listener for events emitted by custom + description: Creates a new blockchain listener for events emitted by custom smart contracts operationId: postContractAPIListenersNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a event on a smart - contract - in: path - name: eventPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a event on a smart + contract + in: path + name: eventPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: - "Deprecated: Please use 'event' in the array of 'filters' - instead" + description: 'Deprecated: Please use ''event'' in the array of ''filters'' + instead' nullable: true properties: description: @@ -16944,12 +15343,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -16963,14 +15360,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -16981,22 +15376,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each filter + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -17006,12 +15398,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17025,15 +15415,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -17045,8 +15433,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -17064,8 +15451,7 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. For + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -17073,8 +15459,8 @@ paths: type: object type: array interface: - description: "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -17090,31 +15476,27 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array of + ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: - Options that control how the listener subscribes to + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block number, + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -17127,8 +15509,7 @@ paths: schema: properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -17137,8 +15518,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array of + ''filters'' instead' nullable: true properties: description: @@ -17146,12 +15527,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17165,14 +15544,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -17183,22 +15560,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -17208,13 +15582,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17224,21 +15596,18 @@ paths: params: description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -17250,8 +15619,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -17269,15 +15637,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -17288,9 +15654,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -17306,40 +15671,35 @@ paths: type: string type: object location: - description: "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -17349,53 +15709,51 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/publish: post: description: Publish a contract API to all other members of the multiparty network operationId: postContractAPIPublishNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: - An optional name to be used for publishing this definition + description: An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -17423,8 +15781,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -17442,14 +15799,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17459,13 +15814,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -17481,12 +15834,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17496,8 +15847,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -17515,14 +15865,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17532,28 +15880,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -17569,12 +15913,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17584,8 +15926,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -17603,14 +15944,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17620,8 +15959,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -17632,14 +15970,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17651,26 +15987,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -17698,8 +16030,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -17717,14 +16048,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17734,13 +16063,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -17756,12 +16083,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17771,8 +16096,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -17790,14 +16114,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17807,28 +16129,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -17844,12 +16162,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -17859,8 +16175,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -17878,14 +16193,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17895,8 +16208,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -17907,14 +16219,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -17926,26 +16236,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -17953,55 +16259,50 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/apis/{apiName}/query/{methodPath}: post: - description: - Queries a method on a smart contract API. Performs a read-only + description: Queries a method on a smart contract API. Performs a read-only query. operationId: postContractAPIQueryNamespace parameters: - - description: The name of the contract API - in: path - name: apiName - required: true - schema: - type: string - - description: - The name or uniquely generated path name of a method on a smart - contract - in: path - name: methodPath - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract API + in: path + name: apiName + required: true + schema: + type: string + - description: The name or uniquely generated path name of a method on a smart + contract + in: path + name: methodPath + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -18018,14 +16319,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -18037,26 +16336,22 @@ paths: type: object type: array idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: - The UUID of a method within a pre-configured FireFly + description: The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -18065,42 +16360,36 @@ paths: nullable: true type: string key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - You can specify a message to correlate with the invocation, + description: You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -18108,8 +16397,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -18119,46 +16407,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -18166,29 +16447,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -18198,63 +16475,57 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: - An in-line FFI method definition for the method to + description: An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -18263,12 +16534,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -18282,14 +16551,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -18305,14 +16572,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -18327,11 +16592,9 @@ paths: type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -18346,369 +16609,120 @@ paths: default: description: "" tags: - - Non-Default Namespace - /namespaces/{ns}/apis/{id}: - put: - description: The ID of the contract API - operationId: putContractAPINamespace - parameters: - - description: The ID of the contract API - in: path - name: id - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - requestBody: - content: - application/json: - schema: - properties: - interface: - description: - Reference to the FireFly Interface definition associated - with the contract API - nullable: true - properties: - id: - description: The UUID of the FireFly interface - format: uuid - nullable: true - type: string - name: - description: The name of the FireFly interface - type: string - version: - description: The version of the FireFly interface - type: string - type: object - location: - additionalProperties: true - description: - If this API is tied to an individual instance of a - smart contract, this field can include a blockchain specific contract - identifier. For example an Ethereum contract address, or a Fabric - chaincode name and channel - nullable: true - type: object - name: - description: The name that is used in the URL to access the API - type: string - networkName: - description: - The published name of the API within the multiparty - network - type: string - type: object - required: true - responses: - "200": - content: - application/json: - schema: - properties: - id: - description: The UUID of the contract API - format: uuid - nullable: true - type: string - interface: - description: - Reference to the FireFly Interface definition associated - with the contract API - nullable: true - properties: - id: - description: The UUID of the FireFly interface - format: uuid - nullable: true - type: string - name: - description: The name of the FireFly interface - type: string - version: - description: The version of the FireFly interface - type: string - type: object - location: - additionalProperties: true - description: - If this API is tied to an individual instance of - a smart contract, this field can include a blockchain specific - contract identifier. For example an Ethereum contract address, - or a Fabric chaincode name and channel - nullable: true - type: object - message: - description: - The UUID of the broadcast message that was used to - publish this API to the network - format: uuid - nullable: true - type: string - name: - description: The name that is used in the URL to access the API - type: string - namespace: - description: The namespace of the contract API - type: string - networkName: - description: - The published name of the API within the multiparty - network - type: string - published: - description: - Indicates if the API is published to other members - of the multiparty network - type: boolean - urls: - description: The URLs to use to access the API - properties: - api: - description: The URL to use to invoke the API - type: string - openapi: - description: - The URL to download the OpenAPI v3 (Swagger) - description for the API generated in JSON or YAML format - type: string - ui: - description: - The URL to use in a web browser to access the - SwaggerUI explorer/exerciser for the API - type: string - type: object - type: object - description: Success - "202": - content: - application/json: - schema: - properties: - id: - description: The UUID of the contract API - format: uuid - nullable: true - type: string - interface: - description: - Reference to the FireFly Interface definition associated - with the contract API - nullable: true - properties: - id: - description: The UUID of the FireFly interface - format: uuid - nullable: true - type: string - name: - description: The name of the FireFly interface - type: string - version: - description: The version of the FireFly interface - type: string - type: object - location: - additionalProperties: true - description: - If this API is tied to an individual instance of - a smart contract, this field can include a blockchain specific - contract identifier. For example an Ethereum contract address, - or a Fabric chaincode name and channel - nullable: true - type: object - message: - description: - The UUID of the broadcast message that was used to - publish this API to the network - format: uuid - nullable: true - type: string - name: - description: The name that is used in the URL to access the API - type: string - namespace: - description: The namespace of the contract API - type: string - networkName: - description: - The published name of the API within the multiparty - network - type: string - published: - description: - Indicates if the API is published to other members - of the multiparty network - type: boolean - urls: - description: The URLs to use to access the API - properties: - api: - description: The URL to use to invoke the API - type: string - openapi: - description: - The URL to download the OpenAPI v3 (Swagger) - description for the API generated in JSON or YAML format - type: string - ui: - description: - The URL to use in a web browser to access the - SwaggerUI explorer/exerciser for the API - type: string - type: object - type: object - description: Success - default: - description: "" - tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/batches: get: description: Gets a list of message batches operationId: getBatchesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: node - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: payloadref - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: node + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: payloadref + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -18731,8 +16745,7 @@ paths: nullable: true type: string group: - description: - The privacy group the batch is sent to, for private + description: The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -18777,8 +16790,8 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object type: array @@ -18786,33 +16799,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/batches/{batchid}: get: description: Gets a message batch operationId: getBatchByIDNamespace parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -18833,8 +16845,7 @@ paths: nullable: true type: string group: - description: - The privacy group the batch is sent to, for private + description: The privacy group the batch is sent to, for private batches format: byte nullable: true @@ -18879,41 +16890,40 @@ paths: type: description: The type of the batch enum: - - broadcast - - private + - broadcast + - private type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/batches/{batchid}/cancel: post: description: Cancel a batch that has failed to dispatch operationId: postBatchCancelNamespace parameters: - - description: The batch ID - in: path - name: batchid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The batch ID + in: path + name: batchid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: {} @@ -18925,109 +16935,105 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/blockchainevents: get: description: Gets a list of blockchain events operationId: getBlockchainEventsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: listener - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: protocolid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: source - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: timestamp - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.blockchainid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: listener + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: protocolid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: source + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: timestamp + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.blockchainid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -19043,16 +17049,13 @@ paths: type: string info: additionalProperties: - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: - The UUID of the listener that detected this event, + description: The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -19061,46 +17064,38 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: - The namespace of the listener that detected this + description: The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: - The data output by the event, parsed to JSON + description: The data output by the event, parsed to JSON according to the interface of the smart contract - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: - The blockchain plugin or token service that detected + description: The blockchain plugin or token service that detected the event type: string timestamp: - description: - The time allocated to this event by the blockchain. + description: The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: - If this blockchain event is coorelated to FireFly + description: If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -19119,33 +17114,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/blockchainevents/{id}: get: description: Gets a blockchain event operationId: getBlockchainEventByIDNamespace parameters: - - description: The blockchain event ID - in: path - name: id - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blockchain event ID + in: path + name: id + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -19159,16 +17153,13 @@ paths: type: string info: additionalProperties: - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector - description: - Detailed blockchain specific information about the + description: Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: - The UUID of the listener that detected this event, + description: The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -19177,46 +17168,38 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: - The namespace of the listener that detected this + description: The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: - The blockchain plugin or token service that detected + description: The blockchain plugin or token service that detected the event type: string timestamp: - description: - The time allocated to this event by the blockchain. + description: The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: - If this blockchain event is coorelated to FireFly + description: If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -19234,51 +17217,49 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/charts/histogram/{collection}: get: - description: - Gets a JSON object containing statistics data that can be used + description: Gets a JSON object containing statistics data that can be used to build a graphical representation of recent activity in a given database collection operationId: getChartHistogramNamespace parameters: - - description: The collection ID - in: path - name: collection - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Start time of the data to be fetched - in: query - name: startTime - schema: - type: string - - description: End time of the data to be fetched - in: query - name: endTime - schema: - type: string - - description: Number of buckets between start time and end time - in: query - name: buckets - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The collection ID + in: path + name: collection + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Start time of the data to be fetched + in: query + name: startTime + schema: + type: string + - description: End time of the data to be fetched + in: query + name: endTime + schema: + type: string + - description: Number of buckets between start time and end time + in: query + name: buckets + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -19288,13 +17269,11 @@ paths: nullable: true properties: count: - description: - Total count of entries in this time bucket within + description: Total count of entries in this time bucket within the histogram type: string isCapped: - description: - Indicates whether there are more results in this + description: Indicates whether there are more results in this bucket that are not being displayed type: boolean timestamp: @@ -19303,18 +17282,15 @@ paths: nullable: true type: string types: - description: - Array of separate counts for individual types of + description: Array of separate counts for individual types of record within the bucket items: - description: - Array of separate counts for individual types + description: Array of separate counts for individual types of record within the bucket nullable: true properties: count: - description: - Count of entries of a given type within a + description: Count of entries of a given type within a bucket type: string type: @@ -19328,41 +17304,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/deploy: post: description: Deploy a new smart contract operationId: postContractDeployNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: contract: - description: - The smart contract to deploy. This should be pre-compiled + description: The smart contract to deploy. This should be pre-compiled if required by the blockchain connector nullable: true type: string @@ -19371,32 +17345,26 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: - description: - An optional array of inputs passed to the smart contract's + description: An optional array of inputs passed to the smart contract's constructor, if applicable items: - description: - An optional array of inputs passed to the smart contract's + description: An optional array of inputs passed to the smart contract's constructor, if applicable type: array key: - description: - The blockchain signing key that will be used to deploy + description: The blockchain signing key that will be used to deploy the contract. Defaults to the first signing key of the organization that operates the node type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -19412,8 +17380,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -19431,19 +17398,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -19453,8 +17417,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -19462,21 +17425,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -19496,8 +17459,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -19515,19 +17477,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -19537,8 +17496,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -19546,21 +17504,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -19572,89 +17530,85 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces: get: description: Gets a list of contract interfaces that have been published operationId: getContractInterfacesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: networkname - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: published - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: version - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: networkname + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: published + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: version + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -19681,8 +17635,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -19700,15 +17653,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -19719,13 +17670,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -19741,12 +17690,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19756,8 +17703,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -19775,15 +17721,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -19794,28 +17738,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -19831,12 +17771,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -19846,8 +17784,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -19865,15 +17802,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -19884,8 +17819,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -19896,15 +17830,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -19917,26 +17849,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -19945,46 +17873,44 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates and broadcasts a new custom smart contract interface operationId: postNewContractInterfaceNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -20012,14 +17938,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20041,12 +17965,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20060,14 +17982,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20089,12 +18009,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20108,14 +18026,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20131,14 +18047,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -20150,18 +18064,15 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart contract + description: The name of the FFI - usually matching the smart contract name type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -20189,8 +18100,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -20208,14 +18118,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20225,13 +18133,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -20247,12 +18153,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20262,8 +18166,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -20281,14 +18184,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20298,28 +18199,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -20335,12 +18232,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20350,8 +18245,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -20369,14 +18263,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20386,8 +18278,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -20398,14 +18289,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20417,26 +18306,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -20444,33 +18329,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/{interfaceId}: delete: description: Delete a contract interface operationId: deleteContractInterfaceNamespace parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -20479,40 +18363,38 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a contract interface by its ID operationId: getContractInterfaceNamespace parameters: - - description: The ID of the contract interface - in: path - name: interfaceId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The ID of the contract interface + in: path + name: interfaceId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -20537,8 +18419,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -20556,14 +18437,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20573,13 +18452,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -20595,12 +18472,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20610,8 +18485,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -20629,14 +18503,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20646,28 +18518,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -20683,12 +18551,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20698,8 +18564,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -20717,14 +18582,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20734,8 +18597,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -20746,14 +18608,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20765,26 +18625,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -20792,47 +18648,45 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/{name}/{version}: get: description: Gets a contract interface by its name and version operationId: getContractInterfaceByNameAndVersionNamespace parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When set, the API will return the full FireFly Interface document - including all methods, events, and parameters - in: query - name: fetchchildren - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the full FireFly Interface document + including all methods, events, and parameters + in: query + name: fetchchildren + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -20857,8 +18711,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -20876,14 +18729,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20893,13 +18744,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -20915,12 +18764,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -20930,8 +18777,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -20949,14 +18795,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -20966,28 +18810,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -21003,12 +18843,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21018,8 +18856,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -21037,14 +18874,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21054,8 +18889,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -21066,14 +18900,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21085,26 +18917,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -21112,61 +18940,58 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/{name}/{version}/publish: post: - description: - Publish a contract interface to all other members of the multiparty + description: Publish a contract interface to all other members of the multiparty network operationId: postContractInterfacePublishNamespace parameters: - - description: The name of the contract interface - in: path - name: name - required: true - schema: - type: string - - description: The version of the contract interface - in: path - name: version - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: Custom topics for ordering definition broadcast messages - in: query - name: topics - schema: - items: - type: string - type: array - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the contract interface + in: path + name: name + required: true + schema: + type: string + - description: The version of the contract interface + in: path + name: version + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Custom topics for ordering definition broadcast messages + in: query + name: topics + schema: + items: + type: string + type: array + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: - An optional name to be used for publishing this definition + description: An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -21194,8 +19019,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -21213,14 +19037,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21230,13 +19052,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -21252,12 +19072,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21267,8 +19085,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -21286,14 +19103,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21303,28 +19118,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -21340,12 +19151,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21355,8 +19164,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -21374,14 +19182,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21391,8 +19197,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -21403,14 +19208,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21422,26 +19225,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -21469,8 +19268,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -21488,14 +19286,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21505,13 +19301,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -21527,12 +19321,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21542,8 +19334,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -21561,14 +19352,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21578,28 +19367,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -21615,12 +19400,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21630,8 +19413,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -21649,14 +19431,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21666,8 +19446,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -21678,14 +19457,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21697,26 +19474,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -21724,44 +19497,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/interfaces/generate: post: - description: - A convenience method to convert a blockchain specific smart contract + description: A convenience method to convert a blockchain specific smart contract format into a FireFly Interface format. The specific blockchain plugin in use must support this functionality. operationId: postGenerateContractInterfaceNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - The description of the FFI to be generated. Defaults + description: The description of the FFI to be generated. Defaults to the description extracted by the blockchain specific converter utility type: string input: - description: - A blockchain connector specific payload. For example + description: A blockchain connector specific payload. For example in Ethereum this is a JSON structure containing an 'abi' array, and optionally a 'devdocs' array. nullable: true @@ -21800,8 +19569,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this error is part of format: uuid nullable: true @@ -21819,14 +19587,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21836,13 +19602,11 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this error within + description: The unique name allocated to this error within the FFI for use on URL paths type: string signature: - description: - The stringified signature of the error, as + description: The stringified signature of the error, as computed by the blockchain plugin type: string type: object @@ -21858,12 +19622,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21873,8 +19635,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this event is part of format: uuid nullable: true @@ -21892,14 +19653,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21909,28 +19668,24 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this event within + description: The unique name allocated to this event within the FFI for use on URL paths. Supports contracts that have multiple event overrides with the same name type: string signature: - description: - The stringified signature of the event, as + description: The stringified signature of the event, as computed by the blockchain plugin type: string type: object type: array id: - description: - The UUID of the FireFly interface (FFI) smart contract + description: The UUID of the FireFly interface (FFI) smart contract definition format: uuid nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this FFI to the network format: uuid nullable: true @@ -21946,12 +19701,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -21961,8 +19714,7 @@ paths: nullable: true type: string interface: - description: - The UUID of the FFI smart contract definition + description: The UUID of the FFI smart contract definition that this method is part of format: uuid nullable: true @@ -21980,14 +19732,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -21997,8 +19747,7 @@ paths: type: object type: array pathname: - description: - The unique name allocated to this method within + description: The unique name allocated to this method within the FFI for use on URL paths. Supports contracts that have multiple method overrides with the same name type: string @@ -22009,14 +19758,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -22028,26 +19775,22 @@ paths: type: object type: array name: - description: - The name of the FFI - usually matching the smart + description: The name of the FFI - usually matching the smart contract name type: string namespace: description: The namespace of the FFI type: string networkName: - description: - The published name of the FFI within the multiparty + description: The published name of the FFI within the multiparty network type: string published: - description: - Indicates if the FFI is published to other members + description: Indicates if the FFI is published to other members of the multiparty network type: boolean version: - description: - A version for the FFI - use of semantic versioning + description: A version for the FFI - use of semantic versioning such as 'v1.0.1' is encouraged type: string type: object @@ -22055,47 +19798,43 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/invoke: post: description: Invokes a method on a smart contract. Performs a blockchain transaction. operationId: postContractInvokeNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When true the HTTP request blocks until the blockchain transaction - is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the blockchain transaction + is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -22112,14 +19851,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -22131,26 +19868,22 @@ paths: type: object type: array idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: - The UUID of a method within a pre-configured FireFly + description: The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -22159,42 +19892,36 @@ paths: nullable: true type: string key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - You can specify a message to correlate with the invocation, + description: You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -22202,8 +19929,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -22213,46 +19939,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -22260,29 +19979,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -22292,63 +20007,57 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: - An in-line FFI method definition for the method to + description: An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -22357,12 +20066,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -22376,14 +20083,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -22399,14 +20104,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -22421,11 +20124,9 @@ paths: type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -22441,8 +20142,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -22460,19 +20160,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -22482,8 +20179,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -22491,21 +20187,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -22525,8 +20221,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -22544,19 +20239,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -22566,8 +20258,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -22575,21 +20266,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -22601,119 +20292,115 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/listeners: get: description: Gets a list of contract listeners operationId: getContractListenersNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: backendid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: filters - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: location - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: signature - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: backendid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: filters + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: location + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: signature + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -22723,8 +20410,7 @@ paths: nullable: true properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -22733,8 +20419,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array + of ''filters'' instead' nullable: true properties: description: @@ -22742,12 +20428,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -22761,14 +20445,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum @@ -22779,22 +20461,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -22804,13 +20483,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. @@ -22819,25 +20496,21 @@ paths: description: The name of the event type: string params: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -22849,8 +20522,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -22868,15 +20540,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -22887,9 +20557,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -22905,41 +20574,35 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -22950,37 +20613,34 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: - description: - Creates a new blockchain listener for events emitted by custom + description: Creates a new blockchain listener for events emitted by custom smart contracts operationId: postNewContractListenerNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: - "Deprecated: Please use 'event' in the array of 'filters' - instead" + description: 'Deprecated: Please use ''event'' in the array of ''filters'' + instead' nullable: true properties: description: @@ -22988,12 +20648,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23007,14 +20665,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -23025,26 +20681,23 @@ paths: type: array type: object eventPath: - description: "Deprecated: Please use 'eventPath' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''eventPath'' in the array + of ''filters'' instead' type: string filters: - description: - A list of filters for the contract listener. Each filter + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -23054,12 +20707,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23073,15 +20724,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -23093,14 +20742,12 @@ paths: type: array type: object eventPath: - description: - When creating a listener from an existing FFI, + description: When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -23118,8 +20765,7 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. For + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -23127,8 +20773,8 @@ paths: type: object type: array interface: - description: "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -23144,31 +20790,27 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array of + ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: - Options that control how the listener subscribes to + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block number, + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -23181,8 +20823,7 @@ paths: schema: properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -23191,8 +20832,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array of + ''filters'' instead' nullable: true properties: description: @@ -23200,12 +20841,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23219,14 +20858,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -23237,22 +20874,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -23262,13 +20896,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23278,21 +20910,18 @@ paths: params: description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -23304,8 +20933,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -23323,15 +20951,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -23342,9 +20968,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -23360,40 +20985,35 @@ paths: type: string type: object location: - description: "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -23403,33 +21023,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/listeners/{nameOrId}: delete: description: Deletes a contract listener referenced by its name or its ID operationId: deleteContractListenerNamespace parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -23438,40 +21057,38 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a contract listener by its name or ID operationId: getContractListenerByNameOrIDNamespace parameters: - - description: The contract listener name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The contract listener name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -23479,8 +21096,7 @@ paths: schema: properties: backendId: - description: - An ID assigned by the blockchain connector to this + description: An ID assigned by the blockchain connector to this listener type: string created: @@ -23489,8 +21105,8 @@ paths: nullable: true type: string event: - description: "Deprecated: Please use 'event' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''event'' in the array of + ''filters'' instead' nullable: true properties: description: @@ -23498,12 +21114,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23517,14 +21131,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -23535,22 +21147,19 @@ paths: type: array type: object filters: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -23560,13 +21169,11 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23576,21 +21183,18 @@ paths: params: description: An array of event parameter/argument definitions items: - description: - An array of event parameter/argument + description: An array of event parameter/argument definitions nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions @@ -23602,8 +21206,7 @@ paths: type: array type: object interface: - description: - A reference to an existing FFI, containing + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -23621,15 +21224,13 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string signature: - description: - The stringified signature of the event and + description: The stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -23640,9 +21241,8 @@ paths: nullable: true type: string interface: - description: - "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -23658,40 +21258,35 @@ paths: type: string type: object location: - description: "Deprecated: Please use 'location' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array + of ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string namespace: - description: - The namespace of the listener, which defines the + description: The namespace of the listener, which defines the namespace of all blockchain events detected by this listener type: string options: - description: - Options that control how the listener subscribes + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -23701,36 +21296,34 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/listeners/signature: post: description: Calculates the hash of a blockchain listener filters and events operationId: postContractListenerSignatureNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: event: - description: - "Deprecated: Please use 'event' in the array of 'filters' - instead" + description: 'Deprecated: Please use ''event'' in the array of ''filters'' + instead' nullable: true properties: description: @@ -23738,12 +21331,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23757,14 +21348,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -23775,26 +21364,23 @@ paths: type: array type: object eventPath: - description: "Deprecated: Please use 'eventPath' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''eventPath'' in the array + of ''filters'' instead' type: string filters: - description: - A list of filters for the contract listener. Each filter + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. items: - description: - A list of filters for the contract listener. Each + description: A list of filters for the contract listener. Each filter is made up of an Event and an optional Location. Events matching these filters will always be emitted in the order determined by the blockchain. nullable: true properties: event: - description: - The definition of the event, either provided + description: The definition of the event, either provided in-line when creating the listener, or extracted from the referenced FFI when supplied nullable: true @@ -23804,12 +21390,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about + description: Additional blockchain specific fields about this event from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -23823,15 +21407,13 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type @@ -23843,14 +21425,12 @@ paths: type: array type: object eventPath: - description: - When creating a listener from an existing FFI, + description: When creating a listener from an existing FFI, this is the pathname of the event on that FFI to be detected by this listener type: string interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the event, used in combination with eventPath nullable: true @@ -23868,8 +21448,7 @@ paths: type: string type: object location: - description: - A blockchain specific contract identifier. For + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -23877,8 +21456,8 @@ paths: type: object type: array interface: - description: "Deprecated: Please use 'interface' in the array - of 'filters' instead" + description: 'Deprecated: Please use ''interface'' in the array + of ''filters'' instead' nullable: true properties: id: @@ -23894,31 +21473,27 @@ paths: type: string type: object location: - description: - "Deprecated: Please use 'location' in the array of - 'filters' instead" + description: 'Deprecated: Please use ''location'' in the array of + ''filters'' instead' nullable: true type: string name: description: A descriptive name for the listener type: string options: - description: - Options that control how the listener subscribes to + description: Options that control how the listener subscribes to events from the underlying blockchain nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block number, + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors. Default is 'newest' type: string type: object topic: - description: - A topic to set on the FireFly event that is emitted + description: A topic to set on the FireFly event that is emitted each time a blockchain event is detected from the blockchain. Setting this topic on a number of listeners allows applications to easily subscribe to all events they need @@ -23931,8 +21506,7 @@ paths: schema: properties: signature: - description: - A concatenation of all the stringified signature + description: A concatenation of all the stringified signature of the event and location, as computed by the blockchain plugin type: string type: object @@ -23940,39 +21514,36 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/contracts/query: post: description: Queries a method on a smart contract. Performs a read-only query. operationId: postContractQueryNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: errors: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI items: - description: - An in-line FFI errors definition for the method to + description: An in-line FFI errors definition for the method to invoke. Alternative to specifying FFI nullable: true properties: @@ -23989,14 +21560,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -24008,26 +21577,22 @@ paths: type: object type: array idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string input: additionalProperties: - description: - A map of named inputs. The name and type of each + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector - description: - A map of named inputs. The name and type of each input + description: A map of named inputs. The name and type of each input must be compatible with the FFI description of the method, so that FireFly knows how to serialize it to the blockchain via the connector type: object interface: - description: - The UUID of a method within a pre-configured FireFly + description: The UUID of a method within a pre-configured FireFly interface (FFI) definition for a smart contract. Required if the 'method' is omitted. Also see Contract APIs as a way to configure a dedicated API for your FFI, including all methods and an OpenAPI/Swagger @@ -24036,42 +21601,36 @@ paths: nullable: true type: string key: - description: - The blockchain signing key that will sign the invocation. + description: The blockchain signing key that will sign the invocation. Defaults to the first signing key of the organization that operates the node type: string location: - description: - A blockchain specific contract identifier. For example + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string message: - description: - You can specify a message to correlate with the invocation, + description: You can specify a message to correlate with the invocation, which can be of type broadcast or private. Your specified method must support on-chain/off-chain correlation by taking a data input on the call nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -24079,8 +21638,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -24090,46 +21648,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -24137,29 +21688,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -24169,63 +21716,57 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network type: string type: object method: - description: - An in-line FFI method definition for the method to + description: An in-line FFI method definition for the method to invoke. Required when FFI is not specified nullable: true properties: @@ -24234,12 +21775,10 @@ paths: type: string details: additionalProperties: - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. - description: - Additional blockchain specific fields about this + description: Additional blockchain specific fields about this method from the original smart contract. Used by the blockchain plugin and for documentation generation. type: object @@ -24253,14 +21792,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -24276,14 +21813,12 @@ paths: nullable: true properties: name: - description: - The name of the parameter. Note that parameters + description: The name of the parameter. Note that parameters must be ordered correctly on the FFI, according to the order in the blockchain smart contract type: string schema: - description: - FireFly uses an extended subset of JSON Schema + description: FireFly uses an extended subset of JSON Schema to describe parameters, similar to OpenAPI/Swagger. Converters are available for native blockchain interface definitions / type systems - such as an Ethereum ABI. @@ -24298,11 +21833,9 @@ paths: type: string options: additionalProperties: - description: - A map of named inputs that will be passed through + description: A map of named inputs that will be passed through to the blockchain connector - description: - A map of named inputs that will be passed through to + description: A map of named inputs that will be passed through to the blockchain connector type: object type: object @@ -24317,129 +21850,125 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data: get: description: Gets a list of data items operationId: getDataNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.path - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.public - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blob.size - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datatype.name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datatype.version - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: public - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: validator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: value - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.path + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.public + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blob.size + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datatype.name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datatype.version + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: public + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: validator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: value + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -24458,20 +21987,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -24486,8 +22012,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -24495,14 +22020,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -24516,8 +22039,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -24525,8 +22047,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -24537,34 +22058,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates a new data item in this FireFly node operationId: postDataNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: datatype: - description: - The optional datatype to use for validation of the + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -24572,8 +22091,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -24586,8 +22104,7 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON type + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string @@ -24630,20 +22147,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -24658,8 +22172,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -24667,14 +22180,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -24688,8 +22199,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -24697,8 +22207,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -24708,33 +22217,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}: delete: description: Deletes a data item by its ID, including metadata about this item operationId: deleteDataNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -24743,32 +22251,31 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a data item by its ID, including metadata about this item operationId: getDataByIDNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -24785,20 +22292,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -24813,8 +22317,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -24822,14 +22325,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -24843,8 +22344,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -24852,8 +22352,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -24863,180 +22362,176 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/blob: get: description: Downloads the original file that was previously uploaded or received operationId: getDataBlobNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -25048,43 +22543,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/blob/publish: post: - description: - Publishes the binary blob attachment stored in your local data + description: Publishes the binary blob attachment stored in your local data exchange, to shared storage operationId: postDataBlobPublishNamespace parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -25104,20 +22596,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -25132,8 +22621,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -25141,14 +22629,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -25162,8 +22648,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -25171,8 +22656,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -25182,180 +22666,176 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/messages: get: description: Gets a list of the messages associated with a data item operationId: getDataMsgsNamespace parameters: - - description: The data item ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The data item ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -25391,23 +22871,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -25418,16 +22895,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -25442,30 +22917,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -25479,38 +22949,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -25519,34 +22987,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -25556,182 +23020,177 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/value: get: - description: - Downloads the JSON value of the data resource, without the associated + description: Downloads the JSON value of the data resource, without the associated metadata operationId: getDataValueNamespace parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -25743,43 +23202,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/data/{dataid}/value/publish: post: - description: - Publishes the JSON value from the specified data resource, to shared + description: Publishes the JSON value from the specified data resource, to shared storage operationId: postDataValuePublishNamespace parameters: - - description: The blob ID - in: path - name: dataid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The blob ID + in: path + name: dataid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string type: object @@ -25799,20 +23255,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -25827,8 +23280,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -25836,14 +23288,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the value + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -25857,8 +23307,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared storage, + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -25866,8 +23315,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -25877,35 +23325,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/datasubpaths/{parent}: get: - description: - Gets a list of path names of named blob data, underneath a given + description: Gets a list of path names of named blob data, underneath a given parent path ('/' path prefixes are automatically pre-prepended) operationId: getDataSubPathsNamespace parameters: - - description: The parent path to query - in: path - name: parent - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The parent path to query + in: path + name: parent + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -25918,94 +23364,90 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/datatypes: get: description: Gets a list of datatypes that have been published operationId: getDatatypesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: validator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: version - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: validator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: version + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -26020,8 +23462,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -26033,8 +23474,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -26043,28 +23483,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -26074,32 +23510,31 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates and broadcasts a new datatype operationId: postNewDatatypeNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -26111,19 +23546,17 @@ paths: validator: description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -26140,8 +23573,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. Allows + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -26153,8 +23585,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -26163,28 +23594,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -26201,8 +23628,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. Allows + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -26214,8 +23640,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -26224,28 +23649,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -26254,39 +23675,38 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/datatypes/{name}/{version}: get: description: Gets a datatype by its name and version operationId: getDatatypeByNameNamespace parameters: - - description: The name of the datatype - in: path - name: name - required: true - schema: - type: string - - description: The version of the datatype - in: path - name: version - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name of the datatype + in: path + name: name + required: true + schema: + type: string + - description: The version of the datatype + in: path + name: version + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -26299,8 +23719,7 @@ paths: nullable: true type: string hash: - description: - The hash of the value, such as the JSON schema. Allows + description: The hash of the value, such as the JSON schema. Allows all parties to be confident they have the exact same rules for verifying data created against a datatype format: byte @@ -26312,8 +23731,7 @@ paths: nullable: true type: string message: - description: - The UUID of the broadcast message that was used to + description: The UUID of the broadcast message that was used to publish this datatype to the network format: uuid nullable: true @@ -26322,28 +23740,24 @@ paths: description: The name of the datatype type: string namespace: - description: - The namespace of the datatype. Data resources can + description: The namespace of the datatype. Data resources can only be created referencing datatypes in the same namespace type: string validator: - description: - The validator that should be used to verify this + description: The validator that should be used to verify this datatype enum: - - json - - none - - definition + - json + - none + - definition type: string value: - description: - The definition of the datatype, in the syntax supported + description: The definition of the datatype, in the syntax supported by the validator (such as a JSON Schema definition) nullable: true type: string version: - description: - The version of the datatype. Multiple versions can + description: The version of the datatype. Multiple versions can exist with the same name. Use of semantic versioning is encourages, such as v1.0.1 type: string @@ -26352,120 +23766,114 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/events: get: description: Gets a list of events operationId: getEventsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreferences - schema: - example: "true" - type: string - - description: - When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: correlator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: reference - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreferences + schema: + example: "true" + type: string + - description: When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: correlator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: reference + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -26475,16 +23883,14 @@ paths: nullable: true properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -26494,73 +23900,66 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -26568,41 +23967,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/events/{eid}: get: description: Gets an event by its ID operationId: getEventByIDNamespace parameters: - - description: The event ID - in: path - name: eid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When set, the API will return the record that this item references - in its 'reference' field - in: query - name: fetchreference - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The event ID + in: path + name: eid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the record that this item references + in its 'reference' field + in: query + name: fetchreference + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -26610,16 +24007,14 @@ paths: schema: properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed to + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -26629,162 +24024,151 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of this + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events are + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. For + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part of. + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted as + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/groups: get: description: Gets a list of groups operationId: getGroupsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: ledger - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: ledger + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -26794,15 +24178,13 @@ paths: nullable: true properties: created: - description: - The time when the group was first used to send + description: The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: - The identifier hash of this group. Derived from + description: The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -26820,8 +24202,7 @@ paths: description: The DID of the group member type: string node: - description: - The UUID of the node that receives a copy + description: The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -26829,20 +24210,17 @@ paths: type: object type: array message: - description: - The message used to broadcast this group privately + description: The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: - The optional name of the group, allowing multiple + description: The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: - The namespace of the group within the multiparty + description: The namespace of the group within the multiparty network type: string type: object @@ -26851,33 +24229,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/groups/{hash}: get: description: Gets a group by its ID (hash) operationId: getGroupByHashNamespace parameters: - - description: The hash of the group - in: path - name: hash - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the group + in: path + name: hash + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -26885,15 +24262,13 @@ paths: schema: properties: created: - description: - The time when the group was first used to send a + description: The time when the group was first used to send a message in the network format: date-time nullable: true type: string hash: - description: - The identifier hash of this group. Derived from the + description: The identifier hash of this group. Derived from the name and group members format: byte nullable: true @@ -26911,8 +24286,7 @@ paths: description: The DID of the group member type: string node: - description: - The UUID of the node that receives a copy of + description: The UUID of the node that receives a copy of the off-chain message for the identity format: uuid nullable: true @@ -26920,20 +24294,17 @@ paths: type: object type: array message: - description: - The message used to broadcast this group privately + description: The message used to broadcast this group privately to the members format: uuid nullable: true type: string name: - description: - The optional name of the group, allowing multiple + description: The optional name of the group, allowing multiple unique groups to exist with the same list of recipients type: string namespace: - description: - The namespace of the group within the multiparty + description: The namespace of the group within the multiparty network type: string type: object @@ -26941,132 +24312,127 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities: get: - description: - Gets a list of all identities that have been registered in the + description: Gets a list of all identities that have been registered in the namespace operationId: getIdentitiesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -27081,13 +24447,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -27096,8 +24460,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -27107,52 +24470,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -27160,13 +24516,11 @@ paths: nullable: true type: string verifiers: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -27174,14 +24528,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -27192,55 +24545,50 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Registers a new identity in the network operationId: postNewIdentityNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string key: - description: - The blockchain signing key to use to make the claim + description: The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: - The name of the identity. The name must be unique within + description: The name of the identity. The name must be unique within the type and namespace type: string parent: - description: - On input the parent can be specified directly as the + description: On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -27248,11 +24596,9 @@ paths: type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -27271,13 +24617,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -27286,8 +24630,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -27297,52 +24640,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -27362,13 +24698,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -27377,8 +24711,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -27388,52 +24721,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -27445,40 +24771,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities/{did}: get: description: Gets an identity by its ID operationId: getIdentityByIDNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -27491,13 +24816,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -27506,8 +24829,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -27517,52 +24839,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -27574,54 +24889,50 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace patch: description: Updates an identity operationId: patchUpdateIdentityNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: object @@ -27637,13 +24948,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -27652,8 +24961,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -27663,52 +24971,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -27728,13 +25029,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -27743,8 +25042,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -27754,52 +25052,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -27811,41 +25102,40 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities/{iid}/did: get: description: Gets the DID for an identity based on its ID operationId: getIdentityDIDNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - "@context": + '@context': description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -27867,8 +25157,7 @@ paths: nullable: true properties: blockchainAcountId: - description: - For blockchains like Ethereum that represent + description: For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -27876,8 +25165,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: - A string provided by your Data Exchange plugin, + description: A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -27885,8 +25173,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: - For Hyperledger Fabric where the signing identity + description: For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -27900,96 +25187,92 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/identities/{iid}/verifiers: get: description: Gets the verifiers for an identity operationId: getIdentityVerifiersNamespace parameters: - - description: The identity ID, which is a UUID generated by FireFly - in: path - name: iid - required: true - schema: - example: id - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: identity - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: value - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The identity ID, which is a UUID generated by FireFly + in: path + name: iid + required: true + schema: + example: id + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: identity + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: value + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -28004,16 +25287,14 @@ paths: nullable: true type: string hash: - description: - Hash used as a globally consistent identifier for + description: Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: - The UUID of the parent identity that has claimed + description: The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -28024,14 +25305,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -28040,179 +25320,175 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages: get: description: Gets a list of messages operationId: getMsgsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: author - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: cid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: confirmed - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: datahash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: group - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pins - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: rejectreason - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: state - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tag - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topics - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txparent.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: txtype - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: author + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: cid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: confirmed + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: datahash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: group + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pins + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: rejectreason + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: state + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tag + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topics + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txparent.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: txtype + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -28222,8 +25498,7 @@ paths: nullable: true properties: batch: - description: - The UUID of the batch in which the message was + description: The UUID of the batch in which the message was pinned/transferred format: uuid nullable: true @@ -28252,23 +25527,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -28279,16 +25551,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -28303,30 +25573,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -28340,38 +25605,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -28380,34 +25643,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -28418,38 +25677,37 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}: get: description: Gets a message by its ID operationId: getMsgByIDNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: Fetch the data and include it in the messages returned - in: query - name: fetchdata - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Fetch the data and include it in the messages returned + in: query + name: fetchdata + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -28467,22 +25725,19 @@ paths: nullable: true type: string data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: - An optional in-line hash reference to a previously + description: An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -28492,20 +25747,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -28515,8 +25767,7 @@ paths: type: integer type: object datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -28524,8 +25775,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -28540,45 +25790,38 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -28586,29 +25829,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -28619,16 +25858,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -28643,30 +25880,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -28680,38 +25912,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -28720,34 +25950,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -28757,33 +25983,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}/data: get: description: Gets the list of data items that are attached to a message operationId: getMsgDataNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -28802,20 +26027,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached to + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores the + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to shared + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -28830,8 +26052,7 @@ paths: nullable: true type: string datatype: - description: - The optional datatype to use of validation of this + description: The optional datatype to use of validation of this data nullable: true properties: @@ -28839,14 +26060,12 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object hash: - description: - The hash of the data resource. Derived from the + description: The hash of the data resource. Derived from the value and the hash of any binary blob attachment format: byte nullable: true @@ -28860,8 +26079,7 @@ paths: description: The namespace of the data resource type: string public: - description: - If the JSON value has been published to shared + description: If the JSON value has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -28869,8 +26087,7 @@ paths: description: The data validator type type: string value: - description: - The value for the data, stored in the FireFly core + description: The value for the data, stored in the FireFly core database. Can be any JSON type - object, array, string, number or boolean. Can be combined with a binary blob attachment nullable: true @@ -28881,110 +26098,106 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}/events: get: description: Gets the list of events for a message operationId: getMsgEventsNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: correlator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: reference - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: correlator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: reference + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -28994,16 +26207,14 @@ paths: nullable: true properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -29013,73 +26224,66 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -29087,33 +26291,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/{msgid}/transaction: get: description: Gets the transaction for a message operationId: getMsgTxnNamespace parameters: - - description: The message ID - in: path - name: msgid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The message ID + in: path + name: msgid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -29121,22 +26324,19 @@ paths: schema: properties: blockchainIds: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: - The time the transaction was created on this node. + description: The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -29148,8 +26348,7 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional unique identifier for a transaction. + description: An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -29159,71 +26358,67 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/broadcast: post: description: Broadcasts a message to all members in the network operationId: postNewMessageBroadcastNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation of + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -29231,8 +26426,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -29245,40 +26439,34 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive a + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -29286,29 +26474,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -29318,55 +26502,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the message + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with an + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver this + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -29407,23 +26586,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -29434,16 +26610,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -29458,30 +26632,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -29495,38 +26664,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -29535,34 +26702,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -29603,23 +26766,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -29630,16 +26790,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -29654,30 +26812,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -29691,38 +26844,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -29731,34 +26882,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -29768,54 +26915,50 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/private: post: description: Privately sends a message to one or more members in the network operationId: postNewMessagePrivateNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation of + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -29823,8 +26966,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -29837,40 +26979,34 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive a + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -29878,29 +27014,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -29910,55 +27042,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the message + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with an + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver this + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -29999,23 +27126,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -30026,16 +27150,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -30050,30 +27172,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -30087,38 +27204,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -30127,34 +27242,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -30195,23 +27306,20 @@ paths: type: object type: array hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -30222,16 +27330,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -30246,30 +27352,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -30283,38 +27384,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -30323,34 +27422,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -30360,51 +27455,46 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/messages/requestreply: post: - description: - Sends a message with a blocking HTTP request, waits for a reply + description: Sends a message with a blocking HTTP request, waits for a reply to that message, then sends the reply as the HTTP response. operationId: postNewMessageRequestReplyNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation of + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -30412,8 +27502,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -30426,40 +27515,34 @@ paths: description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any JSON + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive a + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -30467,29 +27550,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -30499,55 +27578,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the message + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with an + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver this + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -30570,22 +27644,19 @@ paths: nullable: true type: string data: - description: - For input allows you to specify data in-line in the + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: blob: - description: - An optional in-line hash reference to a previously + description: An optional in-line hash reference to a previously uploaded binary data blob nullable: true properties: @@ -30595,20 +27666,17 @@ paths: nullable: true type: string name: - description: - The name field from the metadata attached + description: The name field from the metadata attached to the blob, commonly used as a path/filename, and indexed for search type: string path: - description: - If a name is specified, this field stores + description: If a name is specified, this field stores the '/' prefixed and separated path extracted from the full name type: string public: - description: - If the blob data has been published to + description: If the blob data has been published to shared storage, this field is the id of the data in the shared storage plugin (IPFS hash etc.) type: string @@ -30618,8 +27686,7 @@ paths: type: integer type: object datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -30627,8 +27694,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic versioning + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -30643,45 +27709,38 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input can + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -30689,29 +27748,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to have + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object hash: - description: - The hash of the message. Derived from the header, + description: The hash of the message. Derived from the header, which includes the data hash format: byte nullable: true type: string header: - description: - The message header contains all fields that are used + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this when + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true @@ -30722,16 +27777,14 @@ paths: nullable: true type: string datahash: - description: - A single hash representing all data in the message. + description: A single hash representing all data in the message. Derived from the array of data ids+hashes attached to this message format: byte nullable: true type: string group: - description: - Private messages only - the identifier hash of + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -30746,30 +27799,25 @@ paths: description: The on-chain signing key used to sign the transaction type: string namespace: - description: - The namespace of the message within the multiparty + description: The namespace of the message within the multiparty network type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txparent: - description: - The parent transaction that originally triggered + description: The parent transaction that originally triggered this message nullable: true properties: @@ -30783,38 +27831,36 @@ paths: type: string type: object txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -30823,34 +27869,30 @@ paths: description: The local namespace of the message type: string pins: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic items: - description: - For private messages, a unique pin hash:nonce is + description: For private messages, a unique pin hash:nonce is assigned for each topic type: string type: array rejectReason: - description: - If a message was rejected, provides details on the + description: If a message was rejected, provides details on the rejection reason type: string state: description: The current state of the message enum: - - staged - - ready - - sent - - pending - - confirmed - - rejected - - cancelled + - staged + - ready + - sent + - pending + - confirmed + - rejected + - cancelled type: string txid: - description: - The ID of the transaction used to order/deliver this + description: The ID of the transaction used to order/deliver this message format: uuid nullable: true @@ -30860,27 +27902,26 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/action: post: description: Notify all nodes in the network of a new governance action operationId: postNetworkActionNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -30889,7 +27930,7 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object responses: @@ -30901,47 +27942,46 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/diddocs/{did}: get: description: Gets a DID document by its DID operationId: getNetworkDIDDocByDIDNamespace parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - "@context": + '@context': description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -30963,8 +28003,7 @@ paths: nullable: true properties: blockchainAcountId: - description: - For blockchains like Ethereum that represent + description: For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -30972,8 +28011,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: - A string provided by your Data Exchange plugin, + description: A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -30981,8 +28019,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: - For Hyperledger Fabric where the signing identity + description: For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -30996,133 +28033,128 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/identities: get: deprecated: true - description: - Gets the list of identities in the network (deprecated - use /identities + description: Gets the list of identities in the network (deprecated - use /identities instead of /network/identities operationId: getNetworkIdentitiesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -31137,13 +28169,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -31152,8 +28182,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -31163,52 +28192,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -31216,13 +28238,11 @@ paths: nullable: true type: string verifiers: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -31230,14 +28250,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -31248,40 +28267,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/identities/{did}: get: deprecated: true description: Gets an identity by its DID operationId: getNetworkIdentityByDIDNamespace parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -31294,13 +28312,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -31309,8 +28325,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -31320,52 +28335,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -31373,13 +28381,11 @@ paths: nullable: true type: string verifiers: - description: - The verifiers, such as blockchain signing keys, that + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -31387,14 +28393,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -31404,124 +28409,120 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/nodes: get: description: Gets a list of nodes in the network operationId: getNetworkNodesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -31536,13 +28537,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -31551,8 +28550,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -31562,52 +28560,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -31620,33 +28611,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/nodes/{nameOrId}: get: description: Gets information about a specific node in the network operationId: getNetworkNodeNamespace parameters: - - description: The name or ID of the node - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the node + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -31659,13 +28649,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -31674,8 +28662,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -31685,52 +28672,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -31742,33 +28722,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/nodes/self: post: description: Instructs this FireFly node to register itself on the network operationId: postNodesSelfNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -31787,13 +28766,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -31802,8 +28779,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -31813,52 +28789,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -31878,13 +28847,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -31893,8 +28860,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -31904,52 +28870,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -31961,124 +28920,120 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/organizations: get: description: Gets a list of orgs in the network operationId: getNetworkOrgsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -32093,13 +29048,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -32108,8 +29061,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -32119,52 +29071,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -32177,56 +29122,51 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Registers a new org in the network operationId: postNewOrganizationNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string key: - description: - The blockchain signing key to use to make the claim + description: The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: - The name of the identity. The name must be unique within + description: The name of the identity. The name must be unique within the type and namespace type: string parent: - description: - On input the parent can be specified directly as the + description: On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -32234,11 +29174,9 @@ paths: type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -32257,13 +29195,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -32272,8 +29208,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -32283,52 +29218,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -32348,13 +29276,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -32363,8 +29289,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -32374,52 +29299,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -32431,33 +29349,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/organizations/{nameOrId}: get: description: Gets information about a specific org in the network operationId: getNetworkOrgNamespace parameters: - - description: The name or ID of the org - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the org + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -32470,13 +29387,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -32485,8 +29400,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -32496,52 +29410,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -32553,33 +29460,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/network/organizations/self: post: description: Instructs this FireFly node to register its org on the network operationId: postNewOrganizationSelfNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -32598,13 +29504,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -32613,8 +29517,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -32624,52 +29527,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -32689,13 +29585,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -32704,8 +29598,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -32715,52 +29608,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -32772,86 +29658,81 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/nextpins: get: - description: - Queries the list of next-pins that determine the next masked message + description: Queries the list of next-pins that determine the next masked message sequence for each member of a privacy group, on each context/topic operationId: getNextPinsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: context - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: identity - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: nonce - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: context + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: identity + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: nonce + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -32860,8 +29741,7 @@ paths: items: properties: context: - description: - The context the next-pin applies to - the hash + description: The context the next-pin applies to - the hash of the privacy group-hash + topic. The group-hash is only known to the participants (can itself contain a salt in the group-name). This context is combined with the member and @@ -32875,16 +29755,14 @@ paths: nullable: true type: string identity: - description: - The member of the privacy group the next-pin applies + description: The member of the privacy group the next-pin applies to type: string namespace: description: The namespace of the next-pin type: string nonce: - description: - The numeric index - which is monotonically increasing + description: The numeric index - which is monotonically increasing for each member of the privacy group format: int64 type: integer @@ -32894,119 +29772,115 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/operations: get: description: Gets a a list of operations operationId: getOpsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: error - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: input - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: output - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: plugin - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: retry - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: status - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: error + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: input + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: output + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: plugin + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: retry + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: status + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -33021,8 +29895,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -33040,19 +29913,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -33062,8 +29932,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -33071,21 +29940,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -33098,41 +29967,39 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/operations/{opid}: get: description: Gets an operation by ID operationId: getOpByIDNamespace parameters: - - description: The operation ID key to get - in: path - name: opid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The operation ID key to get + in: path + name: opid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -33145,12 +30012,10 @@ paths: nullable: true type: string detail: - description: - Additional detailed information about an operation + description: Additional detailed information about an operation provided by the connector error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -33168,19 +30033,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -33190,8 +30052,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -33199,21 +30060,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -33225,33 +30086,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/operations/{opid}/retry: post: description: Retries a failed operation operationId: postOpRetryNamespace parameters: - - description: The UUID of the operation - in: path - name: opid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The UUID of the operation + in: path + name: opid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -33270,8 +30130,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -33289,19 +30148,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -33311,8 +30167,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -33320,21 +30175,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -33346,99 +30201,95 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/pins: get: description: Queries the list of pins received from the blockchain operationId: getPinsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: dispatched - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: index - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: masked - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: dispatched + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: index + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: masked + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -33447,15 +30298,13 @@ paths: items: properties: batch: - description: - The UUID of the batch of messages this pin is part + description: The UUID of the batch of messages this pin is part of format: uuid nullable: true type: string batchHash: - description: - The manifest hash batch of messages this pin is + description: The manifest hash batch of messages this pin is part of format: byte nullable: true @@ -33466,13 +30315,11 @@ paths: nullable: true type: string dispatched: - description: - Once true, this pin has been processed and will + description: Once true, this pin has been processed and will not be processed again type: boolean hash: - description: - The hash represents a topic within a message in + description: The hash represents a topic within a message in the batch. If a message has multiple topics, then multiple pins are created. If the message is private, the hash is masked for privacy @@ -33480,14 +30327,12 @@ paths: nullable: true type: string index: - description: - The index of this pin within the batch. One pin + description: The index of this pin within the batch. One pin is created for each topic, of each message in the batch format: int64 type: integer masked: - description: - True if the pin is for a private message, and hence + description: True if the pin is for a private message, and hence is masked with the group ID and salted with a nonce so observers of the blockchain cannot use pin hash to match this transaction to other transactions or participants @@ -33496,15 +30341,13 @@ paths: description: The namespace of the pin type: string sequence: - description: - The order of the pin in the local FireFly database, + description: The order of the pin in the local FireFly database, which matches the order in which pins were delivered to FireFly by the blockchain connector event stream format: int64 type: integer signer: - description: - The blockchain signing key that submitted this + description: The blockchain signing key that submitted this transaction, as passed through to FireFly by the smart contract that emitted the blockchain event type: string @@ -33514,45 +30357,41 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/pins/rewind: post: - description: - Force a rewind of the event aggregator to a previous position, + description: Force a rewind of the event aggregator to a previous position, to re-evaluate (and possibly dispatch) that pin and others after it. Only accepts a sequence or batch ID for a currently undispatched pin operationId: postPinsRewindNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: batch: - description: - The ID of the batch to which the event aggregator should + description: The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: - The sequence of the pin to which the event aggregator + description: The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -33564,15 +30403,13 @@ paths: schema: properties: batch: - description: - The ID of the batch to which the event aggregator + description: The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: - The sequence of the pin to which the event aggregator + description: The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -33581,27 +30418,26 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/status: get: description: Gets the status of this namespace operationId: getStatusNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -33609,13 +30445,11 @@ paths: schema: properties: multiparty: - description: - Information about the multi-party system configured + description: Information about the multi-party system configured on this namespace properties: contract: - description: - Information about the multi-party smart contract + description: Information about the multi-party smart contract configured for this namespace nullable: true properties: @@ -33624,30 +30458,25 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such as + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -33655,8 +30484,7 @@ paths: type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -33669,41 +30497,34 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: - description: - The version of this multiparty + description: The version of this multiparty contract type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -33712,8 +30533,7 @@ paths: type: array type: object enabled: - description: - Whether multi-party mode is enabled for this + description: Whether multi-party mode is enabled for this namespace type: boolean type: object @@ -33733,8 +30553,7 @@ paths: description: The local namespace name type: string networkName: - description: - The shared namespace name within the multiparty + description: The shared namespace name within the multiparty network type: string type: object @@ -33748,8 +30567,7 @@ paths: nullable: true type: string name: - description: - The name of this node, as specified in the local + description: The name of this node, as specified in the local configuration type: string registered: @@ -33757,8 +30575,7 @@ paths: type: boolean type: object org: - description: - Details of the root organization identity registered + description: Details of the root organization identity registered for this namespace on the local node nullable: true properties: @@ -33771,36 +30588,31 @@ paths: nullable: true type: string name: - description: - The name of the node operator organization, as + description: The name of the node operator organization, as specified in the local configuration type: string registered: - description: - Whether the organization has been successfully + description: Whether the organization has been successfully registered type: boolean verifiers: - description: - Array of verifiers (blockchain keys) owned by + description: Array of verifiers (blockchain keys) owned by this identity items: - description: - Array of verifiers (blockchain keys) owned + description: Array of verifiers (blockchain keys) owned by this identity nullable: true properties: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -33913,27 +30725,26 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/status/batchmanager: get: description: Gets the status of the batch manager operationId: getStatusBatchManagerNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -33950,8 +30761,7 @@ paths: description: The type of dispatcher for this processor type: string name: - description: - The name of the processor, which includes details + description: The name of the processor, which includes details of the attributes of message are allocated to this processor type: string status: @@ -33962,43 +30772,36 @@ paths: format: int64 type: integer averageBatchData: - description: - The average number of data attachments + description: The average number of data attachments included in each batch format: double type: number averageBatchMessages: - description: - The average number of messages included + description: The average number of messages included in each batch format: double type: number averageFlushTimeMS: - description: - The average amount of time spent flushing + description: The average amount of time spent flushing each batch format: int64 type: integer blocked: - description: - True if the batch flush is in a retry loop, + description: True if the batch flush is in a retry loop, due to errors being returned by the plugins type: boolean cancelled: - description: - True if the current batch flush has been + description: True if the current batch flush has been cancelled type: boolean flushing: - description: - If a flush is in progress, this is the + description: If a flush is in progress, this is the UUID of the batch being flushed format: uuid nullable: true type: string lastFlushError: - description: - The last error received by this batch processor + description: The last error received by this batch processor while flushing type: string lastFlushErrorTime: @@ -34012,14 +30815,12 @@ paths: nullable: true type: string totalBatches: - description: - The total count of batches flushed by this + description: The total count of batches flushed by this processor since it started format: int64 type: integer totalErrors: - description: - The total count of error flushed encountered + description: The total count of error flushed encountered by this processor since it started format: int64 type: integer @@ -34031,29 +30832,27 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/status/multiparty: get: - description: - Gets the registration status of this organization and node on the + description: Gets the registration status of this organization and node on the configured multiparty network operationId: getStatusMultipartyNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -34061,8 +30860,7 @@ paths: schema: properties: contracts: - description: - Information about the active and terminated multi-party + description: Information about the active and terminated multi-party smart contracts configured for this namespace nullable: true properties: @@ -34071,30 +30869,25 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -34102,15 +30895,13 @@ paths: type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string status: - description: - The status of the contract listener. One + description: The status of the contract listener. One of 'syncing', 'synced', or 'unknown' type: string type: object @@ -34121,30 +30912,25 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -34152,8 +30938,7 @@ paths: type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -34168,33 +30953,28 @@ paths: description: Details of the local node properties: pendingRegistrationMessageId: - description: - The ID of the pending message that broadcast + description: The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: - The status of the node registration, one of 'unregistered', + description: The status of the node registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string type: object org: - description: - Details of the root organization identity registered + description: Details of the root organization identity registered for this namespace on the local node properties: pendingRegistrationMessageId: - description: - The ID of the pending message that broadcast + description: The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: - The status of the organization registration, + description: The status of the organization registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string @@ -34204,99 +30984,95 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/subscriptions: get: description: Gets a list of subscriptions operationId: getSubscriptionsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: events - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: filters - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: options - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: transport - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: events + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: filters + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: options + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: transport + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -34311,8 +31087,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected @@ -34322,17 +31097,15 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' - instead" + description: 'Deprecated: Please use ''message.author'' + instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid @@ -34341,63 +31114,54 @@ paths: and use a topic filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -34408,16 +31172,14 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string @@ -34425,8 +31187,7 @@ paths: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -34435,20 +31196,17 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be + description: 'Webhooks only: When true the event will be acknowledged before the webhook is invoked, allowing parallel - invocations" + invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -34456,108 +31214,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on - the webhook request" + description: 'Webhooks only: Static headers to set on + the webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects @@ -34567,59 +31307,48 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: - "Webhooks only: The tag to set on the reply - message" + description: 'Webhooks only: The tag to set on the reply + message' type: string replytx: - description: - "Webhooks only: The transaction type to set - on the reply message" + description: 'Webhooks only: The transaction type to set + on the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be - relative if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be + relative if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. @@ -34628,8 +31357,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -34643,28 +31371,26 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: - description: - Creates a new subscription for an application to receive events + description: Creates a new subscription for an application to receive events from FireFly operationId: postNewSubscriptionNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -34674,16 +31400,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an event + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -34692,86 +31416,74 @@ paths: on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription will + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered array. + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -34779,19 +31491,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -34799,38 +31508,32 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the webhook - request" + description: 'Webhooks only: Static headers to set on the webhook + request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive connection + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -34842,61 +31545,51 @@ paths: type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true" + applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: string - description: - "Webhooks only: Static query params to set on the - webhook request" + description: 'Webhooks only: Static query params to set on the + webhook request' type: object readAhead: - description: - The number of events to stream ahead to your application, + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -34905,55 +31598,46 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying the - webhook call" + description: 'Webhooks only: a set of options for retrying the + webhook call' properties: count: - description: - Number of times to retry the webhook call in + description: Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -34962,8 +31646,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -34979,8 +31662,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -34990,16 +31672,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -35008,63 +31688,54 @@ paths: filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -35075,24 +31746,21 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -35101,19 +31769,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -35121,108 +31786,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -35232,57 +31879,47 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -35291,8 +31928,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -35305,26 +31941,25 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace put: description: Update an existing subscription operationId: putSubscriptionNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -35334,16 +31969,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an event + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -35352,86 +31985,74 @@ paths: on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription will + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered array. + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -35439,19 +32060,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -35459,38 +32077,32 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the webhook - request" + description: 'Webhooks only: Static headers to set on the webhook + request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive connection + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -35502,61 +32114,51 @@ paths: type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true" + applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: string - description: - "Webhooks only: Static query params to set on the - webhook request" + description: 'Webhooks only: Static query params to set on the + webhook request' type: object readAhead: - description: - The number of events to stream ahead to your application, + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -35565,55 +32167,46 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying the - webhook call" + description: 'Webhooks only: a set of options for retrying the + webhook call' properties: count: - description: - Number of times to retry the webhook call in + description: Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -35622,8 +32215,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -35639,8 +32231,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -35650,16 +32241,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -35668,63 +32257,54 @@ paths: filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -35735,24 +32315,21 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -35761,19 +32338,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -35781,108 +32355,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -35892,57 +32448,47 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -35951,8 +32497,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -35965,33 +32510,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/subscriptions/{subid}: delete: description: Deletes a subscription operationId: deleteSubscriptionNamespace parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -36000,39 +32544,37 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a subscription by its ID operationId: getSubscriptionByIDNamespace parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -36045,8 +32587,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -36056,16 +32597,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -36074,63 +32613,54 @@ paths: filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -36141,24 +32671,21 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -36167,19 +32694,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -36187,108 +32711,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -36298,57 +32804,47 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -36357,8 +32853,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -36371,126 +32866,119 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/subscriptions/{subid}/events: get: - description: - Gets a collection of events filtered by the subscription for further + description: Gets a collection of events filtered by the subscription for further filtering operationId: getSubscriptionEventsFilteredNamespace parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - The sequence ID in the raw event stream to start indexing through - events from. Leave blank to start indexing from the most recent events - in: query - name: startsequence - schema: - type: string - - description: - The sequence ID in the raw event stream to stop indexing through - events at. Leave blank to start indexing from the most recent events - in: query - name: endsequence - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: correlator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: reference - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: The sequence ID in the raw event stream to start indexing through + events from. Leave blank to start indexing from the most recent events + in: query + name: startsequence + schema: + type: string + - description: The sequence ID in the raw event stream to stop indexing through + events at. Leave blank to start indexing from the most recent events + in: query + name: endsequence + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: correlator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: reference + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -36500,16 +32988,14 @@ paths: nullable: true properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -36519,73 +33005,66 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -36593,74 +33072,70 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/accounts: get: description: Gets a list of token accounts operationId: getTokenAccountsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -36670,8 +33145,7 @@ paths: nullable: true properties: key: - description: - The blockchain signing identity this balance applies + description: The blockchain signing identity this balance applies to type: string type: object @@ -36680,82 +33154,77 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/accounts/{key}/pools: get: description: Gets a list of token pools that contain a given token account key operationId: getTokenAccountPoolsNamespace parameters: - - description: - The key for the token account. The exact format may vary based - on the token connector use - in: path - name: key - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The key for the token account. The exact format may vary based + on the token connector use + in: path + name: key + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -36765,8 +33234,7 @@ paths: nullable: true properties: pool: - description: - The UUID the token pool this balance entry applies + description: The UUID the token pool this balance entry applies to format: uuid nullable: true @@ -36777,139 +33245,135 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/approvals: get: description: Gets a list of token approvals operationId: getTokenApprovalsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: active - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: approved - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainevent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: localid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messagehash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: operator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: protocolid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: subject - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: active + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: approved + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainevent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: localid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messagehash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: operator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: protocolid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: subject + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -36919,13 +33383,11 @@ paths: nullable: true properties: active: - description: - Indicates if this approval is currently active + description: Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -36935,8 +33397,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -36947,49 +33408,42 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token approval, in the local FireFly + description: The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated + description: The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated + description: The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the approval, which must match + description: The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -37001,18 +33455,15 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: - A string identifying the parties and entities in + description: A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -37031,89 +33482,79 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates a token approval operationId: postTokenApprovalNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details type: object idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the approval, + description: You can specify a message to correlate with the approval, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the approval nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -37121,8 +33562,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -37132,46 +33572,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -37179,29 +33612,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -37211,55 +33640,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -37281,13 +33705,11 @@ paths: schema: properties: active: - description: - Indicates if this approval is currently active (only + description: Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -37297,8 +33719,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -37309,49 +33730,42 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: - Token connector specific information about the approval + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token approval, in the local FireFly + description: The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the approval, which must match + description: The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -37363,18 +33777,15 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: - A string identifying the parties and entities in + description: A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -37395,13 +33806,11 @@ paths: schema: properties: active: - description: - Indicates if this approval is currently active (only + description: Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -37411,8 +33820,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -37423,49 +33831,42 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: - Token connector specific information about the approval + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token approval, in the local FireFly + description: The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the approval, which must match + description: The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -37477,18 +33878,15 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: - A string identifying the parties and entities in + description: A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -37506,99 +33904,95 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/balances: get: description: Gets a list of token balances operationId: getTokenBalancesNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: balance - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tokenindex - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: uri - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: balance + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tokenindex + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: uri + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -37608,50 +34002,42 @@ paths: nullable: true properties: balance: - description: - The numeric balance. For non-fungible tokens will + description: The numeric balance. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when interpreting the balance. For example, with 18 decimals a fractional balance of 10.234 will be returned as 10,234,000,000,000,000,000 type: string connector: - description: - The token connector that is responsible for the + description: The token connector that is responsible for the token pool of this balance entry type: string key: - description: - The blockchain signing identity this balance applies + description: The blockchain signing identity this balance applies to type: string namespace: - description: - The namespace of the token pool for this balance + description: The namespace of the token pool for this balance entry type: string pool: - description: - The UUID the token pool this balance entry applies + description: The UUID the token pool this balance entry applies to format: uuid nullable: true type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this balance applies to type: string updated: - description: - The last time the balance was updated by applying + description: The last time the balance was updated by applying a transfer event format: date-time nullable: true type: string uri: - description: - The URI of the token this balance entry applies + description: The URI of the token this balance entry applies to type: string type: object @@ -37660,40 +34046,38 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/burn: post: description: Burns some tokens operationId: postTokenBurnNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -37701,56 +34085,47 @@ paths: type: string config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the transfer, + description: You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -37758,8 +34133,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -37769,46 +34143,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -37816,29 +34183,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -37848,55 +34211,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -37906,13 +34264,11 @@ paths: description: The name or UUID of a token pool type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this transfer + description: The index of the token within the pool that this transfer applies to type: string uri: @@ -37926,8 +34282,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -37939,8 +34294,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -37950,42 +34304,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -37994,23 +34342,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -38026,9 +34370,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -38041,8 +34385,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -38054,8 +34397,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -38065,42 +34407,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -38109,23 +34445,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -38141,9 +34473,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -38153,27 +34485,26 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/connectors: get: description: Gets the list of token connectors currently in use operationId: getTokenConnectorsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -38183,8 +34514,7 @@ paths: nullable: true properties: name: - description: - The name of the token connector, as configured + description: The name of the token connector, as configured in the FireFly core configuration file type: string type: object @@ -38193,40 +34523,38 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/mint: post: description: Mints some tokens operationId: postTokenMintNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -38234,56 +34562,47 @@ paths: type: string config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the transfer, + description: You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -38291,8 +34610,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -38302,46 +34620,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -38349,29 +34660,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -38381,55 +34688,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -38439,13 +34741,11 @@ paths: description: The name or UUID of a token pool type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this transfer + description: The index of the token within the pool that this transfer applies to type: string uri: @@ -38459,8 +34759,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -38472,8 +34771,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -38483,42 +34781,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -38527,23 +34819,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -38559,9 +34847,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -38574,8 +34862,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -38587,8 +34874,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -38598,42 +34884,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -38642,23 +34922,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -38674,9 +34950,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -38686,149 +34962,145 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/pools: get: description: Gets a list of token pools operationId: getTokenPoolsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: active - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: decimals - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interfaceformat - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: locator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: networkname - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: published - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: standard - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: symbol - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: active + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: decimals + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interfaceformat + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: locator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: networkname + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: published + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: standard + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: symbol + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -38838,13 +35110,11 @@ paths: nullable: true properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -38864,17 +35134,14 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -38891,69 +35158,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -38968,8 +35224,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object type: array @@ -38977,38 +35233,36 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Creates a new token pool operationId: postTokenPoolNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -39016,31 +35270,26 @@ paths: properties: config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details type: object connector: - description: - The name of the token connector, as specified in the + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -39057,32 +35306,28 @@ paths: type: string type: object key: - description: - The signing key used to create the token pool. On input + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string name: - description: - The name of the token pool. Note the name is not validated + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object responses: @@ -39092,13 +35337,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -39118,16 +35361,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -39144,69 +35384,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -39221,8 +35450,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -39232,13 +35461,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -39258,16 +35485,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -39284,69 +35508,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -39361,41 +35574,40 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/pools/{nameOrId}: delete: description: Delete a token pool operationId: deleteTokenPoolNamespace parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -39404,32 +35616,31 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace get: description: Gets a token pool by its name or its ID operationId: getTokenPoolByNameOrIDNamespace parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -39437,13 +35648,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -39463,16 +35672,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -39489,69 +35695,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -39566,54 +35761,52 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/pools/{nameOrId}/publish: post: description: Publish a token pool to all other members of the multiparty network operationId: postTokenPoolPublishNamespace parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: - An optional name to be used for publishing this definition + description: An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -39624,13 +35817,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -39650,16 +35841,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -39676,69 +35864,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -39753,8 +35930,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -39764,13 +35941,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -39790,16 +35965,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -39816,69 +35988,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -39893,162 +36054,158 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/transfers: get: description: Gets a list of token transfers operationId: getTokenTransfersNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: The sending or receiving token account for a token transfer - in: query - name: fromOrTo - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: amount - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainevent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: from - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: localid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messagehash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: protocolid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: to - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tokenindex - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: uri - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: The sending or receiving token account for a token transfer + in: query + name: fromOrTo + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: amount + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainevent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: from + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: localid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messagehash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: protocolid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: to + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tokenindex + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: uri + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -40058,8 +36215,7 @@ paths: nullable: true properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance @@ -40071,8 +36227,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -40082,42 +36237,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -40126,23 +36275,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -40158,9 +36303,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -40171,39 +36316,37 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace post: description: Transfers some tokens operationId: postTokenTransferNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -40211,56 +36354,47 @@ paths: type: string config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the transfer, + description: You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -40268,8 +36402,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -40279,46 +36412,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -40326,29 +36452,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -40358,55 +36480,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -40416,13 +36533,11 @@ paths: description: The name or UUID of a token pool type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this transfer + description: The index of the token within the pool that this transfer applies to type: string uri: @@ -40436,8 +36551,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -40449,8 +36563,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -40460,42 +36573,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -40504,23 +36611,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -40536,9 +36639,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -40551,8 +36654,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -40564,8 +36666,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -40575,42 +36676,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -40619,23 +36714,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -40651,9 +36742,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -40663,33 +36754,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/tokens/transfers/{transferId}: get: description: Gets a token transfer by its ID operationId: getTokenTransferByIDNamespace parameters: - - description: The token transfer ID - in: path - name: transferId - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token transfer ID + in: path + name: transferId + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -40697,8 +36787,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -40710,8 +36799,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -40721,42 +36809,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -40765,23 +36847,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -40797,9 +36875,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -40809,89 +36887,85 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions: get: description: Gets a list of transactions operationId: getTxnsNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainids - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainids + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -40901,14 +36975,12 @@ paths: nullable: true properties: blockchainIds: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain @@ -40916,8 +36988,7 @@ paths: type: string type: array created: - description: - The time the transaction was created on this node. + description: The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -40929,8 +37000,7 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional unique identifier for a transaction. + description: An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -40940,17 +37010,17 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object type: array @@ -40958,95 +37028,91 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}: get: description: Gets a transaction by its ID operationId: getTxnByIDNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainids - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainids + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -41054,22 +37120,19 @@ paths: schema: properties: blockchainIds: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: - The time the transaction was created on this node. + description: The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -41081,8 +37144,7 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional unique identifier for a transaction. + description: An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -41092,50 +37154,49 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}/blockchainevents: get: description: Gets a list blockchain events for a specific transaction operationId: getTxnBlockchainEventsNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -41151,16 +37212,13 @@ paths: type: string info: additionalProperties: - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: - The UUID of the listener that detected this event, + description: The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -41169,46 +37227,38 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: - The namespace of the listener that detected this + description: The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: - The data output by the event, parsed to JSON + description: The data output by the event, parsed to JSON according to the interface of the smart contract - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: - The blockchain plugin or token service that detected + description: The blockchain plugin or token service that detected the event type: string timestamp: - description: - The time allocated to this event by the blockchain. + description: The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: - If this blockchain event is coorelated to FireFly + description: If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -41227,33 +37277,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}/operations: get: description: Gets a list of operations in a specific transaction operationId: getTxnOpsNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -41268,8 +37317,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -41287,19 +37335,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -41309,8 +37354,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -41318,21 +37362,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -41345,33 +37389,32 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/transactions/{txnid}/status: get: description: Gets the status of a transaction operationId: getTxnStatusNamespace parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -41379,23 +37422,19 @@ paths: schema: properties: details: - description: - A set of records describing the activities within + description: A set of records describing the activities within the transaction known by the local FireFly node items: - description: - A set of records describing the activities within + description: A set of records describing the activities within the transaction known by the local FireFly node nullable: true properties: error: - description: - If an error occurred related to the detail + description: If an error occurred related to the detail entry, it is included here type: string id: - description: - The UUID of the entry referenced by this detail. + description: The UUID of the entry referenced by this detail. The type of this record can be inferred from the entry type format: uuid @@ -41407,19 +37446,16 @@ paths: description: Output details for this entry type: object status: - description: - The status of the detail record. Cases where + description: The status of the detail record. Cases where an event is required for completion, but has not arrived yet are marked with a 'pending' record type: string subtype: - description: - A sub-type, such as an operation type, or an + description: A sub-type, such as an operation type, or an event type type: string timestamp: - description: - The time relevant to when the record was updated, + description: The time relevant to when the record was updated, such as the time an event was created, or the last update time of an operation format: date-time @@ -41431,8 +37467,7 @@ paths: type: object type: array status: - description: - The overall computed status of the transaction, after + description: The overall computed status of the transaction, after analyzing the details during the API call type: string type: object @@ -41440,89 +37475,85 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/verifiers: get: description: Gets a list of verifiers operationId: getVerifiersNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: identity - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: value - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: identity + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: value + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -41537,16 +37568,14 @@ paths: nullable: true type: string hash: - description: - Hash used as a globally consistent identifier for + description: Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: - The UUID of the parent identity that has claimed + description: The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -41557,14 +37586,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -41573,34 +37601,33 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/verifiers/{hash}: get: description: Gets a verifier by its hash operationId: getVerifierByIDNamespace parameters: - - description: The hash of the verifier - in: path - name: hash - required: true - schema: - example: hash - type: string - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the verifier + in: path + name: hash + required: true + schema: + example: hash + type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -41613,16 +37640,14 @@ paths: nullable: true type: string hash: - description: - Hash used as a globally consistent identifier for + description: Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: - The UUID of the parent identity that has claimed + description: The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -41633,14 +37658,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -41648,27 +37672,26 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /namespaces/{ns}/verifiers/resolve: post: description: Resolves an input key to a signing key operationId: postVerifiersResolveNamespace parameters: - - description: The namespace which scopes this request - in: path - name: ns - required: true - schema: - example: default - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The namespace which scopes this request + in: path + name: ns + required: true + schema: + example: default + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -41677,14 +37700,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, or + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -41697,14 +37719,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -41712,20 +37733,19 @@ paths: default: description: "" tags: - - Non-Default Namespace + - Non-Default Namespace /network/action: post: description: Notify all nodes in the network of a new governance action operationId: postNetworkAction parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -41734,7 +37754,7 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object responses: @@ -41746,40 +37766,39 @@ paths: type: description: The action to be performed enum: - - terminate + - terminate type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /network/diddocs/{did}: get: description: Gets a DID document by its DID operationId: getNetworkDIDDocByDID parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: application/json: schema: properties: - "@context": + '@context': description: See https://www.w3.org/TR/did-core/#json-ld items: description: See https://www.w3.org/TR/did-core/#json-ld @@ -41801,8 +37820,7 @@ paths: nullable: true properties: blockchainAcountId: - description: - For blockchains like Ethereum that represent + description: For blockchains like Ethereum that represent signing identities directly by their public key summarized in an account string type: string @@ -41810,8 +37828,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string dataExchangePeerID: - description: - A string provided by your Data Exchange plugin, + description: A string provided by your Data Exchange plugin, that it uses a technology specific mechanism to validate against when messages arrive from this identity type: string @@ -41819,8 +37836,7 @@ paths: description: See https://www.w3.org/TR/did-core/#service-properties type: string mspIdentityString: - description: - For Hyperledger Fabric where the signing identity + description: For Hyperledger Fabric where the signing identity is represented by an MSP identifier (containing X509 certificate DN strings) that were validated by your local MSP type: string @@ -41834,126 +37850,121 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/identities: get: deprecated: true - description: - Gets the list of identities in the network (deprecated - use /identities + description: Gets the list of identities in the network (deprecated - use /identities instead of /network/identities operationId: getNetworkIdentities parameters: - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -41968,13 +37979,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -41983,8 +37992,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -41994,52 +38002,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -42047,13 +38048,11 @@ paths: nullable: true type: string verifiers: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -42061,14 +38060,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -42079,33 +38077,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/identities/{did}: get: deprecated: true description: Gets an identity by its DID operationId: getNetworkIdentityByDID parameters: - - description: The identity DID - in: path - name: did - required: true - schema: - type: string - - description: When set, the API will return the verifier for this identity - in: query - name: fetchverifiers - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The identity DID + in: path + name: did + required: true + schema: + type: string + - description: When set, the API will return the verifier for this identity + in: query + name: fetchverifiers + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -42118,13 +38115,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -42133,8 +38128,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -42144,52 +38138,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -42197,13 +38184,11 @@ paths: nullable: true type: string verifiers: - description: - The verifiers, such as blockchain signing keys, that + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity items: - description: - The verifiers, such as blockchain signing keys, + description: The verifiers, such as blockchain signing keys, that have been bound to this identity and can be used to prove data orignates from that identity nullable: true @@ -42211,14 +38196,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -42228,117 +38212,113 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/nodes: get: description: Gets a list of nodes in the network operationId: getNetworkNodes parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -42353,13 +38333,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -42368,8 +38346,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -42379,52 +38356,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -42437,26 +38407,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/nodes/{nameOrId}: get: description: Gets information about a specific node in the network operationId: getNetworkNode parameters: - - description: The name or ID of the node - in: path - name: nameOrId - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the node + in: path + name: nameOrId + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -42469,13 +38438,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -42484,8 +38451,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -42495,52 +38461,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -42552,26 +38511,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/nodes/self: post: description: Instructs this FireFly node to register itself on the network operationId: postNodesSelf parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -42590,13 +38548,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -42605,8 +38561,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -42616,52 +38571,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -42681,13 +38629,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -42696,8 +38642,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -42707,52 +38652,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -42764,117 +38702,113 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/organizations: get: description: Gets a list of orgs in the network operationId: getNetworkOrgs parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: description - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: did - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.claim - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.update - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messages.verification - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: parent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: profile - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: description + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: did + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.claim + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.update + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messages.verification + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: parent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: profile + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -42889,13 +38823,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -42904,8 +38836,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -42915,52 +38846,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -42973,49 +38897,44 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Registers a new org in the network operationId: postNewOrganization parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string key: - description: - The blockchain signing key to use to make the claim + description: The blockchain signing key to use to make the claim to the identity. Must be available to the local node to sign the identity claim. Will become a verifier on the established identity type: string name: - description: - The name of the identity. The name must be unique within + description: The name of the identity. The name must be unique within the type and namespace type: string parent: - description: - On input the parent can be specified directly as the + description: On input the parent can be specified directly as the UUID of and existing identity, or as a DID to resolve to that identity, or an organization name. The parent must already have been registered, and its blockchain signing key must be available @@ -43023,11 +38942,9 @@ paths: type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: @@ -43046,13 +38963,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -43061,8 +38976,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -43072,52 +38986,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -43137,13 +39044,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -43152,8 +39057,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -43163,52 +39067,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -43220,26 +39117,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/organizations/{nameOrId}: get: description: Gets information about a specific org in the network operationId: getNetworkOrg parameters: - - description: The name or ID of the org - in: path - name: nameOrId - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The name or ID of the org + in: path + name: nameOrId + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -43252,13 +39148,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -43267,8 +39161,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -43278,52 +39171,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -43335,26 +39221,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /network/organizations/self: post: description: Instructs this FireFly node to register its org on the network operationId: postNewOrganizationSelf parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -43373,13 +39258,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -43388,8 +39271,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -43399,52 +39281,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -43464,13 +39339,11 @@ paths: nullable: true type: string description: - description: - A description of the identity. Part of the updatable + description: A description of the identity. Part of the updatable profile information of an identity type: string did: - description: - The DID of the identity. Unique across namespaces + description: The DID of the identity. Unique across namespaces within a FireFly network type: string id: @@ -43479,8 +39352,7 @@ paths: nullable: true type: string messages: - description: - References to the broadcast messages that established + description: References to the broadcast messages that established this identity and proved ownership of the associated verifiers (keys) properties: @@ -43490,52 +39362,45 @@ paths: nullable: true type: string update: - description: - The UUID of the most recently applied update + description: The UUID of the most recently applied update message. Unset if no updates have been confirmed format: uuid nullable: true type: string verification: - description: - The UUID of claim message. Unset for root organization + description: The UUID of claim message. Unset for root organization identities format: uuid nullable: true type: string type: object name: - description: - The name of the identity. The name must be unique + description: The name of the identity. The name must be unique within the type and namespace type: string namespace: - description: - The namespace of the identity. Organization and node + description: The namespace of the identity. Organization and node identities are always defined in the ff_system namespace type: string parent: - description: - The UUID of the parent identity. Unset for root organization + description: The UUID of the parent identity. Unset for root organization identities format: uuid nullable: true type: string profile: additionalProperties: - description: - A set of metadata for the identity. Part of the + description: A set of metadata for the identity. Part of the updatable profile information of an identity - description: - A set of metadata for the identity. Part of the updatable + description: A set of metadata for the identity. Part of the updatable profile information of an identity type: object type: description: The type of the identity enum: - - org - - node - - custom + - org + - node + - custom type: string updated: description: The last update time of the identity profile @@ -43547,79 +39412,74 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /nextpins: get: - description: - Queries the list of next-pins that determine the next masked message + description: Queries the list of next-pins that determine the next masked message sequence for each member of a privacy group, on each context/topic operationId: getNextPins parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: context - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: identity - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: nonce - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: context + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: identity + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: nonce + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -43628,8 +39488,7 @@ paths: items: properties: context: - description: - The context the next-pin applies to - the hash + description: The context the next-pin applies to - the hash of the privacy group-hash + topic. The group-hash is only known to the participants (can itself contain a salt in the group-name). This context is combined with the member and @@ -43643,16 +39502,14 @@ paths: nullable: true type: string identity: - description: - The member of the privacy group the next-pin applies + description: The member of the privacy group the next-pin applies to type: string namespace: description: The namespace of the next-pin type: string nonce: - description: - The numeric index - which is monotonically increasing + description: The numeric index - which is monotonically increasing for each member of the privacy group format: int64 type: integer @@ -43662,112 +39519,108 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /operations: get: description: Gets a a list of operations operationId: getOps parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: error - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: input - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: output - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: plugin - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: retry - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: status - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: error + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: input + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: output + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: plugin + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: retry + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: status + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -43782,8 +39635,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -43801,19 +39653,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -43823,8 +39672,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -43832,21 +39680,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -43859,34 +39707,32 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /operations/{opid}: get: description: Gets an operation by ID operationId: getOpByID parameters: - - description: The operation ID key to get - in: path - name: opid - required: true - schema: - type: string - - description: - When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - example: "true" - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The operation ID key to get + in: path + name: opid + required: true + schema: + type: string + - description: When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + example: "true" + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -43899,12 +39745,10 @@ paths: nullable: true type: string detail: - description: - Additional detailed information about an operation + description: Additional detailed information about an operation provided by the connector error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -43922,19 +39766,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -43944,8 +39785,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -43953,21 +39793,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -43979,26 +39819,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /operations/{opid}/retry: post: description: Retries a failed operation operationId: postOpRetry parameters: - - description: The UUID of the operation - in: path - name: opid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The UUID of the operation + in: path + name: opid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -44017,8 +39856,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -44036,19 +39874,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a previous + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -44058,8 +39893,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -44067,21 +39901,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -44093,92 +39927,88 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /pins: get: description: Queries the list of pins received from the blockchain operationId: getPins parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: batch - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: dispatched - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: index - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: masked - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: batch + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: dispatched + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: index + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: masked + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -44187,15 +40017,13 @@ paths: items: properties: batch: - description: - The UUID of the batch of messages this pin is part + description: The UUID of the batch of messages this pin is part of format: uuid nullable: true type: string batchHash: - description: - The manifest hash batch of messages this pin is + description: The manifest hash batch of messages this pin is part of format: byte nullable: true @@ -44206,13 +40034,11 @@ paths: nullable: true type: string dispatched: - description: - Once true, this pin has been processed and will + description: Once true, this pin has been processed and will not be processed again type: boolean hash: - description: - The hash represents a topic within a message in + description: The hash represents a topic within a message in the batch. If a message has multiple topics, then multiple pins are created. If the message is private, the hash is masked for privacy @@ -44220,14 +40046,12 @@ paths: nullable: true type: string index: - description: - The index of this pin within the batch. One pin + description: The index of this pin within the batch. One pin is created for each topic, of each message in the batch format: int64 type: integer masked: - description: - True if the pin is for a private message, and hence + description: True if the pin is for a private message, and hence is masked with the group ID and salted with a nonce so observers of the blockchain cannot use pin hash to match this transaction to other transactions or participants @@ -44236,15 +40060,13 @@ paths: description: The namespace of the pin type: string sequence: - description: - The order of the pin in the local FireFly database, + description: The order of the pin in the local FireFly database, which matches the order in which pins were delivered to FireFly by the blockchain connector event stream format: int64 type: integer signer: - description: - The blockchain signing key that submitted this + description: The blockchain signing key that submitted this transaction, as passed through to FireFly by the smart contract that emitted the blockchain event type: string @@ -44254,38 +40076,34 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /pins/rewind: post: - description: - Force a rewind of the event aggregator to a previous position, + description: Force a rewind of the event aggregator to a previous position, to re-evaluate (and possibly dispatch) that pin and others after it. Only accepts a sequence or batch ID for a currently undispatched pin operationId: postPinsRewind parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: batch: - description: - The ID of the batch to which the event aggregator should + description: The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: - The sequence of the pin to which the event aggregator + description: The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -44297,15 +40115,13 @@ paths: schema: properties: batch: - description: - The ID of the batch to which the event aggregator + description: The ID of the batch to which the event aggregator should rewind. Either sequence or batch must be specified format: uuid nullable: true type: string sequence: - description: - The sequence of the pin to which the event aggregator + description: The sequence of the pin to which the event aggregator should rewind. Either sequence or batch must be specified format: int64 type: integer @@ -44314,20 +40130,19 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /status: get: description: Gets the status of this namespace operationId: getStatus parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -44335,13 +40150,11 @@ paths: schema: properties: multiparty: - description: - Information about the multi-party system configured + description: Information about the multi-party system configured on this namespace properties: contract: - description: - Information about the multi-party smart contract + description: Information about the multi-party smart contract configured for this namespace nullable: true properties: @@ -44350,30 +40163,25 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such as + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -44381,8 +40189,7 @@ paths: type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -44395,41 +40202,34 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: - description: - The version of this multiparty + description: The version of this multiparty contract type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -44438,8 +40238,7 @@ paths: type: array type: object enabled: - description: - Whether multi-party mode is enabled for this + description: Whether multi-party mode is enabled for this namespace type: boolean type: object @@ -44459,8 +40258,7 @@ paths: description: The local namespace name type: string networkName: - description: - The shared namespace name within the multiparty + description: The shared namespace name within the multiparty network type: string type: object @@ -44474,8 +40272,7 @@ paths: nullable: true type: string name: - description: - The name of this node, as specified in the local + description: The name of this node, as specified in the local configuration type: string registered: @@ -44483,8 +40280,7 @@ paths: type: boolean type: object org: - description: - Details of the root organization identity registered + description: Details of the root organization identity registered for this namespace on the local node nullable: true properties: @@ -44497,36 +40293,31 @@ paths: nullable: true type: string name: - description: - The name of the node operator organization, as + description: The name of the node operator organization, as specified in the local configuration type: string registered: - description: - Whether the organization has been successfully + description: Whether the organization has been successfully registered type: boolean verifiers: - description: - Array of verifiers (blockchain keys) owned by + description: Array of verifiers (blockchain keys) owned by this identity items: - description: - Array of verifiers (blockchain keys) owned + description: Array of verifiers (blockchain keys) owned by this identity nullable: true properties: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -44639,20 +40430,19 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /status/batchmanager: get: description: Gets the status of the batch manager operationId: getStatusBatchManager parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -44669,8 +40459,7 @@ paths: description: The type of dispatcher for this processor type: string name: - description: - The name of the processor, which includes details + description: The name of the processor, which includes details of the attributes of message are allocated to this processor type: string status: @@ -44681,43 +40470,36 @@ paths: format: int64 type: integer averageBatchData: - description: - The average number of data attachments + description: The average number of data attachments included in each batch format: double type: number averageBatchMessages: - description: - The average number of messages included + description: The average number of messages included in each batch format: double type: number averageFlushTimeMS: - description: - The average amount of time spent flushing + description: The average amount of time spent flushing each batch format: int64 type: integer blocked: - description: - True if the batch flush is in a retry loop, + description: True if the batch flush is in a retry loop, due to errors being returned by the plugins type: boolean cancelled: - description: - True if the current batch flush has been + description: True if the current batch flush has been cancelled type: boolean flushing: - description: - If a flush is in progress, this is the + description: If a flush is in progress, this is the UUID of the batch being flushed format: uuid nullable: true type: string lastFlushError: - description: - The last error received by this batch processor + description: The last error received by this batch processor while flushing type: string lastFlushErrorTime: @@ -44731,14 +40513,12 @@ paths: nullable: true type: string totalBatches: - description: - The total count of batches flushed by this + description: The total count of batches flushed by this processor since it started format: int64 type: integer totalErrors: - description: - The total count of error flushed encountered + description: The total count of error flushed encountered by this processor since it started format: int64 type: integer @@ -44750,22 +40530,20 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /status/multiparty: get: - description: - Gets the registration status of this organization and node on the + description: Gets the registration status of this organization and node on the configured multiparty network operationId: getStatusMultiparty parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -44773,8 +40551,7 @@ paths: schema: properties: contracts: - description: - Information about the active and terminated multi-party + description: Information about the active and terminated multi-party smart contracts configured for this namespace nullable: true properties: @@ -44783,30 +40560,25 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a block + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -44814,15 +40586,13 @@ paths: type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true type: string status: - description: - The status of the contract listener. One + description: The status of the contract listener. One of 'syncing', 'synced', or 'unknown' type: string type: object @@ -44833,30 +40603,25 @@ paths: nullable: true properties: firstEvent: - description: - A blockchain specific string, such as a + description: A blockchain specific string, such as a block number, to start listening from. The special strings 'oldest' and 'newest' are supported by all blockchain connectors type: string index: - description: - The index of this contract in the config + description: The index of this contract in the config file type: integer info: - description: - Additional info about the current status + description: Additional info about the current status of the multi-party contract properties: finalEvent: - description: - The identifier for the final blockchain + description: The identifier for the final blockchain event received from this contract before termination type: string subscription: - description: - The backend identifier of the subscription + description: The backend identifier of the subscription for the FireFly BatchPin contract type: string version: @@ -44864,8 +40629,7 @@ paths: type: integer type: object location: - description: - A blockchain specific contract identifier. + description: A blockchain specific contract identifier. For example an Ethereum contract address, or a Fabric chaincode name and channel nullable: true @@ -44880,33 +40644,28 @@ paths: description: Details of the local node properties: pendingRegistrationMessageId: - description: - The ID of the pending message that broadcast + description: The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: - The status of the node registration, one of 'unregistered', + description: The status of the node registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string type: object org: - description: - Details of the root organization identity registered + description: Details of the root organization identity registered for this namespace on the local node properties: pendingRegistrationMessageId: - description: - The ID of the pending message that broadcast + description: The ID of the pending message that broadcast the identity claim to the network format: uuid nullable: true type: string status: - description: - The status of the organization registration, + description: The status of the organization registration, one of 'unregistered', 'registering', 'registered', and 'unknown' type: string @@ -44916,92 +40675,88 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /subscriptions: get: description: Gets a list of subscriptions operationId: getSubscriptions parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: events - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: filters - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: options - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: transport - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: events + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: filters + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: options + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: transport + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -45016,8 +40771,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected @@ -45027,17 +40781,15 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' - instead" + description: 'Deprecated: Please use ''message.author'' + instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid @@ -45046,63 +40798,54 @@ paths: and use a topic filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -45113,16 +40856,14 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string @@ -45130,8 +40871,7 @@ paths: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -45140,20 +40880,17 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be + description: 'Webhooks only: When true the event will be acknowledged before the webhook is invoked, allowing parallel - invocations" + invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -45161,108 +40898,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on - the webhook request" + description: 'Webhooks only: Static headers to set on + the webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects @@ -45272,59 +40991,48 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: - "Webhooks only: The tag to set on the reply - message" + description: 'Webhooks only: The tag to set on the reply + message' type: string replytx: - description: - "Webhooks only: The transaction type to set - on the reply message" + description: 'Webhooks only: The transaction type to set + on the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be - relative if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be + relative if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. @@ -45333,8 +41041,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -45348,21 +41055,19 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: - description: - Creates a new subscription for an application to receive events + description: Creates a new subscription for an application to receive events from FireFly operationId: postNewSubscription parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -45372,16 +41077,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an event + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -45390,86 +41093,74 @@ paths: on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription will + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered array. + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -45477,19 +41168,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -45497,38 +41185,32 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the webhook - request" + description: 'Webhooks only: Static headers to set on the webhook + request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive connection + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -45540,61 +41222,51 @@ paths: type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true" + applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: string - description: - "Webhooks only: Static query params to set on the - webhook request" + description: 'Webhooks only: Static query params to set on the + webhook request' type: object readAhead: - description: - The number of events to stream ahead to your application, + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -45603,55 +41275,46 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying the - webhook call" + description: 'Webhooks only: a set of options for retrying the + webhook call' properties: count: - description: - Number of times to retry the webhook call in + description: Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -45660,8 +41323,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -45677,8 +41339,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -45688,16 +41349,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -45706,63 +41365,54 @@ paths: filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -45773,24 +41423,21 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -45799,19 +41446,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -45819,108 +41463,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -45930,57 +41556,47 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -45989,8 +41605,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -46003,19 +41618,18 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace put: description: Update an existing subscription operationId: putSubscription parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -46025,16 +41639,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an event + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -46043,86 +41655,74 @@ paths: on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription will + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered array. + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations when processing @@ -46130,19 +41730,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -46150,38 +41747,32 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the webhook - request" + description: 'Webhooks only: Static headers to set on the webhook + request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive connection + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string @@ -46193,61 +41784,51 @@ paths: type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. Only - applies if withData=true" + applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: string - description: - "Webhooks only: Static query params to set on the - webhook request" + description: 'Webhooks only: Static query params to set on the + webhook request' type: object readAhead: - description: - The number of events to stream ahead to your application, + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this is the maximum number @@ -46256,55 +41837,46 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send a - reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send a + reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying the - webhook call" + description: 'Webhooks only: a set of options for retrying the + webhook call' properties: count: - description: - Number of times to retry the webhook call in + description: Number of times to retry the webhook call in case of failure type: integer enabled: description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May not be @@ -46313,8 +41885,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string type: object @@ -46330,8 +41901,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -46341,16 +41911,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -46359,63 +41927,54 @@ paths: filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -46426,24 +41985,21 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -46452,19 +42008,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -46472,108 +42025,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -46583,57 +42118,47 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -46642,8 +42167,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -46656,26 +42180,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /subscriptions/{subid}: delete: description: Deletes a subscription operationId: deleteSubscription parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -46684,32 +42207,30 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a subscription by its ID operationId: getSubscriptionByID parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: - When set, the API will return additional status information if - available - in: query - name: fetchstatus - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: When set, the API will return additional status information if + available + in: query + name: fetchstatus + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -46722,8 +42243,7 @@ paths: nullable: true type: string ephemeral: - description: - Ephemeral subscriptions only exist as long as the + description: Ephemeral subscriptions only exist as long as the application is connected, and as such will miss events that occur while the application is disconnected, and cannot be created administratively. You can create one over over a connected WebSocket @@ -46733,16 +42253,14 @@ paths: description: Server-side filter to apply to events properties: author: - description: "Deprecated: Please use 'message.author' instead" + description: 'Deprecated: Please use ''message.author'' instead' type: string blockchainevent: - description: - Filters specific to blockchain events. If an + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain blockchain listeners. Alternatively to avoid your application @@ -46751,63 +42269,54 @@ paths: filter on your subscriptions type: string name: - description: - Regular expression to apply to the blockchain + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the event type, + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: "Deprecated: Please use 'message.group' instead" + description: 'Deprecated: Please use ''message.group'' instead' type: string message: - description: - Filters specific to message events. If an event + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to the message + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: "Deprecated: Please use 'message.tag' instead" + description: 'Deprecated: Please use ''message.tag'' instead' type: string topic: - description: - Regular expression to apply to the topic of the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' instead" + description: 'Deprecated: Please use ''topic'' instead' type: string transaction: - description: - Filters specific to events with a transaction. + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to the transaction + description: Regular expression to apply to the transaction 'type' field type: string type: object @@ -46818,24 +42327,21 @@ paths: nullable: true type: string name: - description: - The name of the subscription. The application specifies + description: The name of the subscription. The application specifies this name when it connects, in order to attach to the subscription and receive events that arrived while it was disconnected. If multiple apps connect to the same subscription, events are workload balanced across the connected application instances type: string namespace: - description: - The namespace of the subscription. A subscription + description: The namespace of the subscription. A subscription will only receive events generated in the namespace of the subscription type: string options: description: Subscription options properties: batch: - description: - Events are delivered in batches in an ordered + description: Events are delivered in batches in an ordered array. The batch size is capped to the readAhead limit. The event payload is always an array even if there is a single event in the batch, allowing client-side optimizations @@ -46844,19 +42350,16 @@ paths: nullable: true type: boolean batchTimeout: - description: - When batching is enabled, the optional timeout + description: When batching is enabled, the optional timeout to send events even when the batch hasn't filled. nullable: true type: string fastack: - description: - "Webhooks only: When true the event will be acknowledged - before the webhook is invoked, allowing parallel invocations" + description: 'Webhooks only: When true the event will be acknowledged + before the webhook is invoked, allowing parallel invocations' type: boolean firstEvent: - description: - Whether your application would like to receive + description: Whether your application would like to receive events from the 'oldest' event emitted by your FireFly node (from the beginning of time), or the 'newest' event (from now), or a specific event sequence. Default is 'newest' @@ -46864,108 +42367,90 @@ paths: type: string headers: additionalProperties: - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: string - description: - "Webhooks only: Static headers to set on the - webhook request" + description: 'Webhooks only: Static headers to set on the + webhook request' type: object httpOptions: - description: "Webhooks only: a set of options for HTTP" + description: 'Webhooks only: a set of options for HTTP' properties: connectionTimeout: - description: - The maximum amount of time that a connection + description: The maximum amount of time that a connection is allowed to remain with no data transmitted. type: string expectContinueTimeout: description: See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport) type: string idleTimeout: - description: - The max duration to hold a HTTP keepalive + description: The max duration to hold a HTTP keepalive connection between calls type: string maxIdleConns: - description: - The max number of idle connections to hold + description: The max number of idle connections to hold pooled type: integer proxyURL: - description: - HTTP proxy URL to use for outbound requests + description: HTTP proxy URL to use for outbound requests to the webhook nullable: true type: string requestTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string tlsHandshakeTimeout: - description: - The max duration to hold a TLS handshake + description: The max duration to hold a TLS handshake alive type: string type: object input: - description: - "Webhooks only: A set of options to extract data + description: 'Webhooks only: A set of options to extract data from the first JSON input data in the incoming message. - Only applies if withData=true" + Only applies if withData=true' properties: body: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for the request body. Default is the whole first body type: string headers: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for headers type: string path: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for a path to append with escaping to the webhook path type: string query: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use for query parameters type: string replytx: - description: - A top-level property of the first data input, + description: A top-level property of the first data input, to use to dynamically set whether to pin the response (so the requester can choose) type: string type: object json: - description: - "Webhooks only: Whether to assume the response - body is JSON, regardless of the returned Content-Type" + description: 'Webhooks only: Whether to assume the response + body is JSON, regardless of the returned Content-Type' type: boolean method: - description: "Webhooks only: HTTP method to invoke. Default=POST" + description: 'Webhooks only: HTTP method to invoke. Default=POST' type: string query: additionalProperties: - description: - "Webhooks only: Static query params to set - on the webhook request" + description: 'Webhooks only: Static query params to set + on the webhook request' type: string - description: - "Webhooks only: Static query params to set on - the webhook request" + description: 'Webhooks only: Static query params to set on + the webhook request' type: object readAhead: - description: - The number of events to stream ahead to your + description: The number of events to stream ahead to your application, while waiting for confirmation of consumption of those events. At least once delivery semantics are used in FireFly, so if your application crashes/reconnects this @@ -46975,57 +42460,47 @@ paths: nullable: true type: integer reply: - description: - "Webhooks only: Whether to automatically send - a reply event, using the body returned by the webhook" + description: 'Webhooks only: Whether to automatically send + a reply event, using the body returned by the webhook' type: boolean replytag: - description: "Webhooks only: The tag to set on the reply message" + description: 'Webhooks only: The tag to set on the reply message' type: string replytx: - description: - "Webhooks only: The transaction type to set on - the reply message" + description: 'Webhooks only: The transaction type to set on + the reply message' type: string retry: - description: - "Webhooks only: a set of options for retrying - the webhook call" + description: 'Webhooks only: a set of options for retrying + the webhook call' properties: count: - description: - Number of times to retry the webhook call + description: Number of times to retry the webhook call in case of failure type: integer enabled: - description: - Enables retry on HTTP calls, defaults to + description: Enables retry on HTTP calls, defaults to false type: boolean initialDelay: - description: - Initial delay between retries when we retry + description: Initial delay between retries when we retry the webhook call type: string maxDelay: - description: - Max delay between retries when we retry the + description: Max delay between retries when we retry the webhookcall type: string type: object tlsConfigName: - description: - The name of an existing TLS configuration associated + description: The name of an existing TLS configuration associated to the namespace to use type: string url: - description: - "Webhooks only: HTTP url to invoke. Can be relative - if a base URL is set in the webhook plugin config" + description: 'Webhooks only: HTTP url to invoke. Can be relative + if a base URL is set in the webhook plugin config' type: string withData: - description: - Whether message events delivered over the subscription, + description: Whether message events delivered over the subscription, should be packaged with the full data of those messages in-line as part of the event JSON payload. Or if the application should make separate REST calls to download that data. May @@ -47034,8 +42509,7 @@ paths: type: boolean type: object transport: - description: - The transport plugin responsible for event delivery + description: The transport plugin responsible for event delivery (WebSockets, Webhooks, JMS, NATS etc.) type: string updated: @@ -47048,119 +42522,112 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /subscriptions/{subid}/events: get: - description: - Gets a collection of events filtered by the subscription for further + description: Gets a collection of events filtered by the subscription for further filtering operationId: getSubscriptionEventsFiltered parameters: - - description: The subscription ID - in: path - name: subid - required: true - schema: - type: string - - description: - The sequence ID in the raw event stream to start indexing through - events from. Leave blank to start indexing from the most recent events - in: query - name: startsequence - schema: - type: string - - description: - The sequence ID in the raw event stream to stop indexing through - events at. Leave blank to start indexing from the most recent events - in: query - name: endsequence - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: correlator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: reference - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: sequence - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: topic - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The subscription ID + in: path + name: subid + required: true + schema: + type: string + - description: The sequence ID in the raw event stream to start indexing through + events from. Leave blank to start indexing from the most recent events + in: query + name: startsequence + schema: + type: string + - description: The sequence ID in the raw event stream to stop indexing through + events at. Leave blank to start indexing from the most recent events + in: query + name: endsequence + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: correlator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: reference + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: sequence + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: topic + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -47170,16 +42637,14 @@ paths: nullable: true properties: correlator: - description: - For message events, this is the 'header.cid' field + description: For message events, this is the 'header.cid' field from the referenced message. For certain other event types, a secondary object is referenced such as a token pool format: uuid nullable: true type: string created: - description: - The time the event was emitted. Not guaranteed + description: The time the event was emitted. Not guaranteed to be unique, or to increase between events in the same order as the final sequence events are delivered to your application. As such, the 'sequence' field should be used instead of the @@ -47189,73 +42654,66 @@ paths: nullable: true type: string id: - description: - The UUID assigned to this event by your local FireFly + description: The UUID assigned to this event by your local FireFly node format: uuid nullable: true type: string namespace: - description: - The namespace of the event. Your application must + description: The namespace of the event. Your application must subscribe to events within a namespace type: string reference: - description: - The UUID of an resource that is the subject of + description: The UUID of an resource that is the subject of this event. The event type determines what type of resource is referenced, and whether this field might be unset format: uuid nullable: true type: string sequence: - description: - A sequence indicating the order in which events + description: A sequence indicating the order in which events are delivered to your application. Assure to be unique per event in your local FireFly database (unlike the created timestamp) format: int64 type: integer topic: - description: - A stream of information this event relates to. + description: A stream of information this event relates to. For message confirmation events, a separate event is emitted for each topic in the message. For blockchain events, the listener specifies the topic. Rules exist for how the topic is set for other event types type: string tx: - description: - The UUID of a transaction that is event is part + description: The UUID of a transaction that is event is part of. Not all events are part of a transaction format: uuid nullable: true type: string type: - description: - All interesting activity in FireFly is emitted + description: All interesting activity in FireFly is emitted as a FireFly event, of a given type. The 'type' combined with the 'reference' can be used to determine how to process the event within your application enum: - - transaction_submitted - - message_confirmed - - message_rejected - - datatype_confirmed - - identity_confirmed - - identity_updated - - token_pool_confirmed - - token_pool_op_failed - - token_transfer_confirmed - - token_transfer_op_failed - - token_approval_confirmed - - token_approval_op_failed - - contract_interface_confirmed - - contract_api_confirmed - - blockchain_event_received - - blockchain_invoke_op_succeeded - - blockchain_invoke_op_failed - - blockchain_contract_deploy_op_succeeded - - blockchain_contract_deploy_op_failed + - transaction_submitted + - message_confirmed + - message_rejected + - datatype_confirmed + - identity_confirmed + - identity_updated + - token_pool_confirmed + - token_pool_op_failed + - token_transfer_confirmed + - token_transfer_op_failed + - token_approval_confirmed + - token_approval_op_failed + - contract_interface_confirmed + - contract_api_confirmed + - blockchain_event_received + - blockchain_invoke_op_succeeded + - blockchain_invoke_op_failed + - blockchain_contract_deploy_op_succeeded + - blockchain_contract_deploy_op_failed type: string type: object type: array @@ -47263,67 +42721,63 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/accounts: get: description: Gets a list of token accounts operationId: getTokenAccounts parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -47333,8 +42787,7 @@ paths: nullable: true properties: key: - description: - The blockchain signing identity this balance applies + description: The blockchain signing identity this balance applies to type: string type: object @@ -47343,75 +42796,70 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/accounts/{key}/pools: get: description: Gets a list of token pools that contain a given token account key operationId: getTokenAccountPools parameters: - - description: - The key for the token account. The exact format may vary based - on the token connector use - in: path - name: key - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The key for the token account. The exact format may vary based + on the token connector use + in: path + name: key + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -47421,8 +42869,7 @@ paths: nullable: true properties: pool: - description: - The UUID the token pool this balance entry applies + description: The UUID the token pool this balance entry applies to format: uuid nullable: true @@ -47433,132 +42880,128 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/approvals: get: description: Gets a list of token approvals operationId: getTokenApprovals parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: active - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: approved - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainevent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: localid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messagehash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: operator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: protocolid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: subject - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: active + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: approved + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainevent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: localid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messagehash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: operator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: protocolid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: subject + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -47568,13 +43011,11 @@ paths: nullable: true properties: active: - description: - Indicates if this approval is currently active + description: Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -47584,8 +43025,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -47596,49 +43036,42 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token approval, in the local FireFly + description: The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated + description: The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated + description: The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the approval, which must match + description: The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -47650,18 +43083,15 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: - A string identifying the parties and entities in + description: A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -47680,82 +43110,72 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates a token approval operationId: postTokenApproval parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the approval. See your chosen token connector documentation for details type: object idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the approval, + description: You can specify a message to correlate with the approval, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the approval nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -47763,8 +43183,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -47774,46 +43193,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -47821,29 +43233,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -47853,55 +43261,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -47923,13 +43326,11 @@ paths: schema: properties: active: - description: - Indicates if this approval is currently active (only + description: Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -47939,8 +43340,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -47951,49 +43351,42 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: - Token connector specific information about the approval + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token approval, in the local FireFly + description: The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the approval, which must match + description: The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -48005,18 +43398,15 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: - A string identifying the parties and entities in + description: A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -48037,13 +43427,11 @@ paths: schema: properties: active: - description: - Indicates if this approval is currently active (only + description: Indicates if this approval is currently active (only one approval can be active per subject) type: boolean approved: - description: - Whether this record grants permission for an operator + description: Whether this record grants permission for an operator to perform actions on the token balance (true), or revokes permission (false) type: boolean @@ -48053,8 +43441,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -48065,49 +43452,42 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details - description: - Token connector specific information about the approval + description: Token connector specific information about the approval operation, such as whether it applied to a limited balance of a fungible token. See your chosen token connector documentation for details type: object key: - description: - The blockchain signing key for the approval request. + description: The blockchain signing key for the approval request. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token approval, in the local FireFly + description: The UUID of this token approval, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this approval using the data field of the approval in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the approval, which must match + description: The namespace for the approval, which must match the namespace of the token pool type: string operator: @@ -48119,18 +43499,15 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string subject: - description: - A string identifying the parties and entities in + description: A string identifying the parties and entities in the scope of this approval, as provided by the token connector type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -48148,92 +43525,88 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/balances: get: description: Gets a list of token balances operationId: getTokenBalances parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: balance - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tokenindex - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: updated - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: uri - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: balance + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tokenindex + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: updated + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: uri + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -48243,50 +43616,42 @@ paths: nullable: true properties: balance: - description: - The numeric balance. For non-fungible tokens will + description: The numeric balance. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when interpreting the balance. For example, with 18 decimals a fractional balance of 10.234 will be returned as 10,234,000,000,000,000,000 type: string connector: - description: - The token connector that is responsible for the + description: The token connector that is responsible for the token pool of this balance entry type: string key: - description: - The blockchain signing identity this balance applies + description: The blockchain signing identity this balance applies to type: string namespace: - description: - The namespace of the token pool for this balance + description: The namespace of the token pool for this balance entry type: string pool: - description: - The UUID the token pool this balance entry applies + description: The UUID the token pool this balance entry applies to format: uuid nullable: true type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this balance applies to type: string updated: - description: - The last time the balance was updated by applying + description: The last time the balance was updated by applying a transfer event format: date-time nullable: true type: string uri: - description: - The URI of the token this balance entry applies + description: The URI of the token this balance entry applies to type: string type: object @@ -48295,33 +43660,31 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/burn: post: description: Burns some tokens operationId: postTokenBurn parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -48329,56 +43692,47 @@ paths: type: string config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the transfer, + description: You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -48386,8 +43740,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -48397,46 +43750,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -48444,29 +43790,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -48476,55 +43818,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -48534,8 +43871,7 @@ paths: description: The name or UUID of a token pool type: string tokenIndex: - description: - The index of the token within the pool that this transfer + description: The index of the token within the pool that this transfer applies to type: string uri: @@ -48549,8 +43885,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -48562,8 +43897,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -48573,42 +43907,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -48617,23 +43945,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -48649,9 +43973,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -48664,8 +43988,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -48677,8 +44000,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -48688,42 +44010,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -48732,23 +44048,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -48764,9 +44076,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -48776,20 +44088,19 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/connectors: get: description: Gets the list of token connectors currently in use operationId: getTokenConnectors parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -48799,8 +44110,7 @@ paths: nullable: true properties: name: - description: - The name of the token connector, as configured + description: The name of the token connector, as configured in the FireFly core configuration file type: string type: object @@ -48809,33 +44119,31 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/mint: post: description: Mints some tokens operationId: postTokenMint parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -48843,51 +44151,43 @@ paths: type: string config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the transfer, + description: You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -48895,8 +44195,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -48906,46 +44205,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -48953,29 +44245,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -48985,55 +44273,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -49043,13 +44326,11 @@ paths: description: The name or UUID of a token pool type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this transfer + description: The index of the token within the pool that this transfer applies to type: string uri: @@ -49063,8 +44344,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -49076,8 +44356,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -49087,42 +44366,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -49131,23 +44404,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -49163,9 +44432,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -49178,8 +44447,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -49191,8 +44459,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -49202,42 +44469,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -49246,23 +44507,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -49278,9 +44535,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -49290,142 +44547,138 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/pools: get: description: Gets a list of token pools operationId: getTokenPools parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: active - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: decimals - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interface - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: interfaceformat - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: locator - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: name - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: networkname - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: published - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: standard - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: symbol - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: active + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: decimals + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interface + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: interfaceformat + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: locator + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: name + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: networkname + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: published + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: standard + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: symbol + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -49435,13 +44688,11 @@ paths: nullable: true properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -49461,17 +44712,14 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -49488,69 +44736,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -49565,8 +44802,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object type: array @@ -49574,31 +44811,29 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Creates a new token pool operationId: postTokenPool parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - When true the definition will be published to all other members - of the multiparty network - in: query - name: publish - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: When true the definition will be published to all other members + of the multiparty network + in: query + name: publish + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -49606,31 +44841,26 @@ paths: properties: config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the pool, such as an existing Ethereum address and block number to used to index the pool. See your chosen token connector documentation for details type: object connector: - description: - The name of the token connector, as specified in the + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -49647,32 +44877,28 @@ paths: type: string type: object key: - description: - The signing key used to create the token pool. On input + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string name: - description: - The name of the token pool. Note the name is not validated + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object responses: @@ -49682,13 +44908,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -49708,16 +44932,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -49734,69 +44955,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -49811,8 +45021,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -49822,13 +45032,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -49848,16 +45056,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -49874,69 +45079,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -49951,34 +45145,33 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/pools/{nameOrId}: delete: description: Delete a token pool operationId: deleteTokenPool parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "204": content: @@ -49987,25 +45180,24 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace get: description: Gets a token pool by its name or its ID operationId: getTokenPoolByNameOrID parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -50013,13 +45205,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -50039,16 +45229,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -50065,69 +45252,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -50142,47 +45318,45 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/pools/{nameOrId}/publish: post: description: Publish a token pool to all other members of the multiparty network operationId: postTokenPoolPublish parameters: - - description: The token pool name or ID - in: path - name: nameOrId - required: true - schema: - type: string - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token pool name or ID + in: path + name: nameOrId + required: true + schema: + type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: networkName: - description: - An optional name to be used for publishing this definition + description: An optional name to be used for publishing this definition to the multiparty network, which may differ from the local name type: string type: object @@ -50193,13 +45367,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -50219,16 +45391,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -50245,69 +45414,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -50322,8 +45480,8 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success @@ -50333,13 +45491,11 @@ paths: schema: properties: active: - description: - Indicates whether the pool has been successfully + description: Indicates whether the pool has been successfully activated with the token connector type: boolean connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file that is responsible for the token pool. Required on input when multiple token connectors are configured @@ -50359,16 +45515,13 @@ paths: type: string info: additionalProperties: - description: - Token connector specific information about the + description: Token connector specific information about the pool. See your chosen token connector documentation for details - description: - Token connector specific information about the pool. + description: Token connector specific information about the pool. See your chosen token connector documentation for details type: object interface: - description: - A reference to an existing FFI, containing pre-registered + description: A reference to an existing FFI, containing pre-registered type information for the token contract nullable: true properties: @@ -50385,69 +45538,58 @@ paths: type: string type: object interfaceFormat: - description: - The interface encoding format supported by the connector + description: The interface encoding format supported by the connector for this token pool enum: - - abi - - ffi + - abi + - ffi type: string key: - description: - The signing key used to create the token pool. On + description: The signing key used to create the token pool. On input for token connectors that support on-chain deployment of new tokens (vs. only index existing ones) this determines the signing key used to create the token on-chain type: string locator: - description: - A unique identifier for the pool, as provided by + description: A unique identifier for the pool, as provided by the token connector type: string message: - description: - The UUID of the broadcast message used to inform + description: The UUID of the broadcast message used to inform the network about this pool format: uuid nullable: true type: string methods: - description: - The method definitions resolved by the token connector + description: The method definitions resolved by the token connector to be used by each token operation nullable: true type: string name: - description: - The name of the token pool. Note the name is not + description: The name of the token pool. Note the name is not validated against the description of the token on the blockchain type: string namespace: description: The namespace for the token pool type: string networkName: - description: - The published name of the token pool within the multiparty + description: The published name of the token pool within the multiparty network type: string published: - description: - Indicates if the token pool is published to other + description: Indicates if the token pool is published to other members of the multiparty network type: boolean standard: - description: - The ERC standard the token pool conforms to, as reported + description: The ERC standard the token pool conforms to, as reported by the token connector type: string symbol: - description: - The token symbol. If supplied on input for an existing + description: The token symbol. If supplied on input for an existing on-chain token, this must match the on-chain information type: string tx: - description: - Reference to the FireFly transaction used to create + description: Reference to the FireFly transaction used to create and broadcast this pool to the network properties: id: @@ -50462,155 +45604,151 @@ paths: type: description: The type of token the pool contains, such as fungible/non-fungible enum: - - fungible - - nonfungible + - fungible + - nonfungible type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/transfers: get: description: Gets a list of token transfers operationId: getTokenTransfers parameters: - - description: The sending or receiving token account for a token transfer - in: query - name: fromOrTo - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: amount - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainevent - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: connector - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: from - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: key - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: localid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: message - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: messagehash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: pool - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: protocolid - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: to - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tokenindex - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: tx.type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: uri - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The sending or receiving token account for a token transfer + in: query + name: fromOrTo + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: amount + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainevent + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: connector + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: from + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: key + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: localid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: message + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: messagehash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: pool + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: protocolid + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: to + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tokenindex + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: tx.type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: uri + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -50620,8 +45758,7 @@ paths: nullable: true properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance @@ -50633,8 +45770,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -50644,42 +45780,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -50688,23 +45818,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -50720,9 +45846,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -50733,32 +45859,30 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace post: description: Transfers some tokens operationId: postTokenTransfer parameters: - - description: When true the HTTP request blocks until the message is confirmed - in: query - name: confirm - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: When true the HTTP request blocks until the message is confirmed + in: query + name: confirm + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 will @@ -50766,56 +45890,47 @@ paths: type: string config: additionalProperties: - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details - description: - Input only field, with token connector specific configuration + description: Input only field, with token connector specific configuration of the transfer. See your chosen token connector documentation for details type: object from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string idempotencyKey: - description: - An optional identifier to allow idempotent submission + description: An optional identifier to allow idempotent submission of requests. Stored on the transaction uniquely within a namespace type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string message: - description: - You can specify a message to correlate with the transfer, + description: You can specify a message to correlate with the transfer, which can be of type broadcast or private. Your chosen token connector and on-chain smart contract must support on-chain/off-chain correlation by taking a `data` input on the transfer nullable: true properties: data: - description: - For input allows you to specify data in-line in + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments items: - description: - For input allows you to specify data in-line + description: For input allows you to specify data in-line in the message, that will be turned into data attachments. For output when fetchdata is used on API calls, includes the in-line data payloads of all data attachments nullable: true properties: datatype: - description: - The optional datatype to use for validation + description: The optional datatype to use for validation of the in-line data nullable: true properties: @@ -50823,8 +45938,7 @@ paths: description: The name of the datatype type: string version: - description: - The version of the datatype. Semantic + description: The version of the datatype. Semantic versioning is encouraged, such as v1.0.1 type: string type: object @@ -50834,46 +45948,39 @@ paths: nullable: true type: string validator: - description: - The data validator type to use for in-line + description: The data validator type to use for in-line data type: string value: - description: - The in-line value for the data. Can be any + description: The in-line value for the data. Can be any JSON type - object, array, string, number or boolean nullable: true type: string type: object type: array group: - description: - Allows you to specify details of the private group + description: Allows you to specify details of the private group of recipients in-line in the message. Alternative to using the header.group to specify the hash of a group that has been previously resolved nullable: true properties: members: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically items: - description: - An array of members of the group. If no identities + description: An array of members of the group. If no identities local to the sending node are included, then the organization owner of the local node is added automatically properties: identity: - description: - The DID of the group member. On input + description: The DID of the group member. On input can be a UUID or org name, and will be resolved to a DID type: string node: - description: - The UUID of the node that will receive + description: The UUID of the node that will receive a copy of the off-chain message for the identity. The first applicable node for the identity will be picked automatically on input if not specified @@ -50881,29 +45988,25 @@ paths: type: object type: array name: - description: - Optional name for the group. Allows you to + description: Optional name for the group. Allows you to have multiple separate groups with the same list of participants type: string type: object header: - description: - The message header contains all fields that are + description: The message header contains all fields that are used to build the message hash properties: author: description: The DID of identity of the submitter type: string cid: - description: - The correlation ID of the message. Set this + description: The correlation ID of the message. Set this when a message is a response to another message format: uuid nullable: true type: string group: - description: - Private messages only - the identifier hash + description: Private messages only - the identifier hash of the privacy group. Derived from the name and member list of the group format: byte @@ -50913,55 +46016,50 @@ paths: description: The on-chain signing key used to sign the transaction type: string tag: - description: - The message tag indicates the purpose of the + description: The message tag indicates the purpose of the message to the applications that process it type: string topics: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged items: - description: - A message topic associates this message with + description: A message topic associates this message with an ordered stream of data. A custom topic should be assigned - using the default topic is discouraged type: string type: array txtype: - description: - The type of transaction used to order/deliver + description: The type of transaction used to order/deliver this message enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: description: The type of the message enum: - - definition - - broadcast - - private - - groupinit - - transfer_broadcast - - transfer_private - - approval_broadcast - - approval_private + - definition + - broadcast + - private + - groupinit + - transfer_broadcast + - transfer_private + - approval_broadcast + - approval_private type: string type: object idempotencyKey: - description: - An optional unique identifier for a message. Cannot + description: An optional unique identifier for a message. Cannot be duplicated within a namespace, thus allowing idempotent submission of messages to the API. Local only - not transferred when the message is sent to other members of the network @@ -50971,13 +46069,11 @@ paths: description: The name or UUID of a token pool type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this transfer + description: The index of the token within the pool that this transfer applies to type: string uri: @@ -50991,8 +46087,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -51004,8 +46099,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -51015,42 +46109,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -51059,23 +46147,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -51091,9 +46175,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -51106,8 +46190,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -51119,8 +46202,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -51130,42 +46212,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -51174,23 +46250,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -51206,9 +46278,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -51218,26 +46290,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /tokens/transfers/{transferId}: get: description: Gets a token transfer by its ID operationId: getTokenTransferByID parameters: - - description: The token transfer ID - in: path - name: transferId - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The token transfer ID + in: path + name: transferId + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -51245,8 +46316,7 @@ paths: schema: properties: amount: - description: - The amount for the transfer. For non-fungible tokens + description: The amount for the transfer. For non-fungible tokens will always be 1. For fungible tokens, the number of decimals for the token pool should be considered when inputting the amount. For example, with 18 decimals a fractional balance of 10.234 @@ -51258,8 +46328,7 @@ paths: nullable: true type: string connector: - description: - The name of the token connector, as specified in + description: The name of the token connector, as specified in the FireFly core configuration file. Required on input when there are more than one token connectors configured type: string @@ -51269,42 +46338,36 @@ paths: nullable: true type: string from: - description: - The source account for the transfer. On input defaults + description: The source account for the transfer. On input defaults to the value of 'key' type: string key: - description: - The blockchain signing key for the transfer. On input + description: The blockchain signing key for the transfer. On input defaults to the first signing key of the organization that operates the node type: string localId: - description: - The UUID of this token transfer, in the local FireFly + description: The UUID of this token transfer, in the local FireFly node format: uuid nullable: true type: string message: - description: - The UUID of a message that has been correlated with + description: The UUID of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: uuid nullable: true type: string messageHash: - description: - The hash of a message that has been correlated with + description: The hash of a message that has been correlated with this transfer using the data field of the transfer in a compatible token connector format: byte nullable: true type: string namespace: - description: - The namespace for the transfer, which must match + description: The namespace for the transfer, which must match the namespace of the token pool type: string pool: @@ -51313,23 +46376,19 @@ paths: nullable: true type: string protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely with respect to the blockchain type: string to: - description: - The target account for the transfer. On input defaults + description: The target account for the transfer. On input defaults to the value of 'key' type: string tokenIndex: - description: - The index of the token within the pool that this + description: The index of the token within the pool that this transfer applies to type: string tx: - description: - If submitted via FireFly, this will reference the + description: If submitted via FireFly, this will reference the UUID of the FireFly transaction (if the token connector in use supports attaching data) properties: @@ -51345,9 +46404,9 @@ paths: type: description: The type of transfer such as mint/burn/transfer enum: - - mint - - burn - - transfer + - mint + - burn + - transfer type: string uri: description: The URI of the token this transfer applies to @@ -51357,82 +46416,78 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions: get: description: Gets a list of transactions operationId: getTxns parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainids - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainids + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -51442,14 +46497,12 @@ paths: nullable: true properties: blockchainIds: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain @@ -51457,8 +46510,7 @@ paths: type: string type: array created: - description: - The time the transaction was created on this node. + description: The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -51470,8 +46522,7 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional unique identifier for a transaction. + description: An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -51481,17 +46532,17 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object type: array @@ -51499,88 +46550,84 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}: get: description: Gets a transaction by its ID operationId: getTxnByID parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: blockchainids - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: id - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: idempotencykey - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: blockchainids + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: id + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: idempotencykey + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -51588,22 +46635,19 @@ paths: schema: properties: blockchainIds: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions items: - description: - The blockchain transaction ID, in the format specific + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain. FireFly transactions are extensible to support multiple blockchain transactions type: string type: array created: - description: - The time the transaction was created on this node. + description: The time the transaction was created on this node. Note the transaction is individually created with the same UUID on each participant in the FireFly transaction format: date-time @@ -51615,8 +46659,7 @@ paths: nullable: true type: string idempotencyKey: - description: - An optional unique identifier for a transaction. + description: An optional unique identifier for a transaction. Cannot be duplicated within a namespace, thus allowing idempotent submission of transactions to the API type: string @@ -51626,43 +46669,42 @@ paths: type: description: The type of the FireFly transaction enum: - - none - - unpinned - - batch_pin - - network_action - - token_pool - - token_transfer - - contract_deploy - - contract_invoke - - contract_invoke_pin - - token_approval - - data_publish + - none + - unpinned + - batch_pin + - network_action + - token_pool + - token_transfer + - contract_deploy + - contract_invoke + - contract_invoke_pin + - token_approval + - data_publish type: string type: object description: Success default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}/blockchainevents: get: description: Gets a list blockchain events for a specific transaction operationId: getTxnBlockchainEvents parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -51678,16 +46720,13 @@ paths: type: string info: additionalProperties: - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector - description: - Detailed blockchain specific information about + description: Detailed blockchain specific information about the event, as generated by the blockchain connector type: object listener: - description: - The UUID of the listener that detected this event, + description: The UUID of the listener that detected this event, or nil for built-in events in the system namespace format: uuid nullable: true @@ -51696,46 +46735,38 @@ paths: description: The name of the event in the blockchain smart contract type: string namespace: - description: - The namespace of the listener that detected this + description: The namespace of the listener that detected this blockchain event type: string output: additionalProperties: - description: - The data output by the event, parsed to JSON + description: The data output by the event, parsed to JSON according to the interface of the smart contract - description: - The data output by the event, parsed to JSON according + description: The data output by the event, parsed to JSON according to the interface of the smart contract type: object protocolId: - description: - An alphanumerically sortable string that represents + description: An alphanumerically sortable string that represents this event uniquely on the blockchain (convention for plugins is zero-padded values BLOCKNUMBER/TXN_INDEX/EVENT_INDEX) type: string source: - description: - The blockchain plugin or token service that detected + description: The blockchain plugin or token service that detected the event type: string timestamp: - description: - The time allocated to this event by the blockchain. + description: The time allocated to this event by the blockchain. This is the block timestamp for most blockchain connectors format: date-time nullable: true type: string tx: - description: - If this blockchain event is coorelated to FireFly + description: If this blockchain event is coorelated to FireFly transaction such as a FireFly submitted token transfer, this field is set to the UUID of the FireFly transaction properties: blockchainId: - description: - The blockchain transaction ID, in the format + description: The blockchain transaction ID, in the format specific to the blockchain involved in the transaction. Not all FireFly transactions include a blockchain type: string @@ -51754,26 +46785,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}/operations: get: description: Gets a list of operations in a specific transaction operationId: getTxnOps parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -51788,8 +46818,7 @@ paths: nullable: true type: string error: - description: - Any error reported back from the plugin for this + description: Any error reported back from the plugin for this operation type: string id: @@ -51807,19 +46836,16 @@ paths: type: string output: additionalProperties: - description: - Any output reported back from the plugin for + description: Any output reported back from the plugin for this operation - description: - Any output reported back from the plugin for this + description: Any output reported back from the plugin for this operation type: object plugin: description: The plugin responsible for performing the operation type: string retry: - description: - If this operation was initiated as a retry to a + description: If this operation was initiated as a retry to a previous operation, this field points to the UUID of the operation being retried format: uuid @@ -51829,8 +46855,7 @@ paths: description: The current status of the operation type: string tx: - description: - The UUID of the FireFly transaction the operation + description: The UUID of the FireFly transaction the operation is part of format: uuid nullable: true @@ -51838,21 +46863,21 @@ paths: type: description: The type of the operation enum: - - blockchain_pin_batch - - blockchain_network_action - - blockchain_deploy - - blockchain_invoke - - sharedstorage_upload_batch - - sharedstorage_upload_blob - - sharedstorage_upload_value - - sharedstorage_download_batch - - sharedstorage_download_blob - - dataexchange_send_batch - - dataexchange_send_blob - - token_create_pool - - token_activate_pool - - token_transfer - - token_approval + - blockchain_pin_batch + - blockchain_network_action + - blockchain_deploy + - blockchain_invoke + - sharedstorage_upload_batch + - sharedstorage_upload_blob + - sharedstorage_upload_value + - sharedstorage_download_batch + - sharedstorage_download_blob + - dataexchange_send_batch + - dataexchange_send_blob + - token_create_pool + - token_activate_pool + - token_transfer + - token_approval type: string updated: description: The last update time of the operation @@ -51865,26 +46890,25 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /transactions/{txnid}/status: get: description: Gets the status of a transaction operationId: getTxnStatus parameters: - - description: The transaction ID - in: path - name: txnid - required: true - schema: - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The transaction ID + in: path + name: txnid + required: true + schema: + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -51892,23 +46916,19 @@ paths: schema: properties: details: - description: - A set of records describing the activities within + description: A set of records describing the activities within the transaction known by the local FireFly node items: - description: - A set of records describing the activities within + description: A set of records describing the activities within the transaction known by the local FireFly node nullable: true properties: error: - description: - If an error occurred related to the detail + description: If an error occurred related to the detail entry, it is included here type: string id: - description: - The UUID of the entry referenced by this detail. + description: The UUID of the entry referenced by this detail. The type of this record can be inferred from the entry type format: uuid @@ -51920,19 +46940,16 @@ paths: description: Output details for this entry type: object status: - description: - The status of the detail record. Cases where + description: The status of the detail record. Cases where an event is required for completion, but has not arrived yet are marked with a 'pending' record type: string subtype: - description: - A sub-type, such as an operation type, or an + description: A sub-type, such as an operation type, or an event type type: string timestamp: - description: - The time relevant to when the record was updated, + description: The time relevant to when the record was updated, such as the time an event was created, or the last update time of an operation format: date-time @@ -51944,8 +46961,7 @@ paths: type: object type: array status: - description: - The overall computed status of the transaction, after + description: The overall computed status of the transaction, after analyzing the details during the API call type: string type: object @@ -51953,82 +46969,78 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /verifiers: get: description: Gets a list of verifiers operationId: getVerifiers parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: created - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: hash - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: identity - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: type - schema: - type: string - - description: "Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^" - in: query - name: value - schema: - type: string - - description: - Sort field. For multi-field sort use comma separated values (or - multiple query values) with '-' prefix for descending - in: query - name: sort - schema: - type: string - - description: Ascending sort order (overrides all fields in a multi-field sort) - in: query - name: ascending - schema: - type: string - - description: - Descending sort order (overrides all fields in a multi-field - sort) - in: query - name: descending - schema: - type: string - - description: - "The number of records to skip (max: 1,000). Unsuitable for bulk - operations" - in: query - name: skip - schema: - type: string - - description: "The maximum number of records to return (max: 1,000)" - in: query - name: limit - schema: - example: "25" - type: string - - description: Return a total count as well as items (adds extra database processing) - in: query - name: count - schema: - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: created + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: hash + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: identity + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: type + schema: + type: string + - description: 'Data filter field. Prefixes supported: > >= < <= @ ^ ! !@ !^' + in: query + name: value + schema: + type: string + - description: Sort field. For multi-field sort use comma separated values (or + multiple query values) with '-' prefix for descending + in: query + name: sort + schema: + type: string + - description: Ascending sort order (overrides all fields in a multi-field sort) + in: query + name: ascending + schema: + type: string + - description: Descending sort order (overrides all fields in a multi-field + sort) + in: query + name: descending + schema: + type: string + - description: 'The number of records to skip (max: 1,000). Unsuitable for bulk + operations' + in: query + name: skip + schema: + type: string + - description: 'The maximum number of records to return (max: 1,000)' + in: query + name: limit + schema: + example: "25" + type: string + - description: Return a total count as well as items (adds extra database processing) + in: query + name: count + schema: + type: string responses: "200": content: @@ -52043,16 +47055,14 @@ paths: nullable: true type: string hash: - description: - Hash used as a globally consistent identifier for + description: Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: - The UUID of the parent identity that has claimed + description: The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -52063,14 +47073,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -52079,27 +47088,26 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /verifiers/{hash}: get: description: Gets a verifier by its hash operationId: getVerifierByID parameters: - - description: The hash of the verifier - in: path - name: hash - required: true - schema: - example: hash - type: string - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: The hash of the verifier + in: path + name: hash + required: true + schema: + example: hash + type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -52112,16 +47120,14 @@ paths: nullable: true type: string hash: - description: - Hash used as a globally consistent identifier for + description: Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network format: byte nullable: true type: string identity: - description: - The UUID of the parent identity that has claimed + description: The UUID of the parent identity that has claimed this verifier format: uuid nullable: true @@ -52132,14 +47138,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -52147,20 +47152,19 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /verifiers/resolve: post: description: Resolves an input key to a signing key operationId: postVerifiersResolve parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string requestBody: content: application/json: @@ -52169,14 +47173,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, or + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -52189,14 +47192,13 @@ paths: type: description: The type of the verifier enum: - - ethereum_address - - tezos_address - - fabric_msp_id - - dx_peer_id + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id type: string value: - description: - The verifier string, such as an Ethereum address, + description: The verifier string, such as an Ethereum address, or Fabric MSP identifier type: string type: object @@ -52204,20 +47206,19 @@ paths: default: description: "" tags: - - Default Namespace + - Default Namespace /websockets: get: description: Gets a list of the current WebSocket connections to this node operationId: getWebSockets parameters: - - description: - Server-side request timeout (milliseconds, or set a custom suffix - like 10s) - in: header - name: Request-Timeout - schema: - default: 2m0s - type: string + - description: Server-side request timeout (milliseconds, or set a custom suffix + like 10s) + in: header + name: Request-Timeout + schema: + default: 2m0s + type: string responses: "200": content: @@ -52234,42 +47235,35 @@ paths: description: The unique ID assigned to this client connection type: string remoteAddress: - description: - The remote address of the connected client + description: The remote address of the connected client (if available) type: string subscriptions: - description: - List of subscriptions currently started by + description: List of subscriptions currently started by this client items: - description: - List of subscriptions currently started by + description: List of subscriptions currently started by this client nullable: true properties: ephemeral: - description: - Indicates whether the subscription is + description: Indicates whether the subscription is ephemeral (vs durable) type: boolean filter: description: The subscription filter specification properties: author: - description: - "Deprecated: Please use 'message.author' - instead" + description: 'Deprecated: Please use ''message.author'' + instead' type: string blockchainevent: - description: - Filters specific to blockchain events. + description: Filters specific to blockchain events. If an event is not a blockchain event, these filters are ignored properties: listener: - description: - Regular expression to apply to + description: Regular expression to apply to the blockchain event 'listener' field, which is the UUID of the event listener. So you can restrict your subscription to certain @@ -52280,87 +47274,74 @@ paths: on your subscriptions type: string name: - description: - Regular expression to apply to + description: Regular expression to apply to the blockchain event 'name' field, which is the name of the event in the underlying blockchain smart contract type: string type: object events: - description: - Regular expression to apply to the + description: Regular expression to apply to the event type, to subscribe to a subset of event types type: string group: - description: - "Deprecated: Please use 'message.group' - instead" + description: 'Deprecated: Please use ''message.group'' + instead' type: string message: - description: - Filters specific to message events. + description: Filters specific to message events. If an event is not a message event, these filters are ignored properties: author: - description: - Regular expression to apply to + description: Regular expression to apply to the message 'header.author' field type: string group: - description: - Regular expression to apply to + description: Regular expression to apply to the message 'header.group' field type: string tag: - description: - Regular expression to apply to + description: Regular expression to apply to the message 'header.tag' field type: string type: object tag: - description: - "Deprecated: Please use 'message.tag' - instead" + description: 'Deprecated: Please use ''message.tag'' + instead' type: string topic: - description: - Regular expression to apply to the + description: Regular expression to apply to the topic of the event, to subscribe to a subset of topics. Note for messages sent with multiple topics, a separate event is emitted for each topic type: string topics: - description: "Deprecated: Please use 'topic' - instead" + description: 'Deprecated: Please use ''topic'' + instead' type: string transaction: - description: - Filters specific to events with a + description: Filters specific to events with a transaction. If an event is not associated with a transaction, this filter is ignored properties: type: - description: - Regular expression to apply to + description: Regular expression to apply to the transaction 'type' field type: string type: object type: object name: - description: - The subscription name (for durable subscriptions + description: The subscription name (for durable subscriptions only) type: string namespace: description: The subscription namespace type: string startTime: - description: - The time the subscription started (reset + description: The time the subscription started (reset on dynamic namespace reload) format: date-time nullable: true @@ -52368,8 +47349,7 @@ paths: type: object type: array userAgent: - description: - The user agent of the connected client (if + description: The user agent of the connected client (if available) type: string type: object @@ -52382,6 +47362,6 @@ paths: default: description: "" tags: - - Global + - Global servers: - - url: http://localhost:5000/api/v1 +- url: http://localhost:5000/api/v1