diff --git a/doc-site/docs/reference/config.md b/doc-site/docs/reference/config.md index e38fc9fb71..be00252d34 100644 --- a/doc-site/docs/reference/config.md +++ b/doc-site/docs/reference/config.md @@ -675,6 +675,7 @@ title: Configuration Reference |count|The maximum number of times to retry|`int`|`5` |enabled|Enables retries|`boolean`|`false` |errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`` +|factor|The retry backoff factor|`float32`|`2` |initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms` |maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` @@ -704,6 +705,7 @@ title: Configuration Reference |Key|Description|Type|Default Value| |---|-----------|----|-------------| +|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false` |connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s` |heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` |initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5` @@ -831,6 +833,7 @@ title: Configuration Reference |count|The maximum number of times to retry|`int`|`5` |enabled|Enables retries|`boolean`|`false` |errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`` +|factor|The retry backoff factor|`float32`|`2` |initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms` |maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` @@ -860,6 +863,7 @@ title: Configuration Reference |Key|Description|Type|Default Value| |---|-----------|----|-------------| +|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false` |connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s` |heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` |initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5` @@ -982,6 +986,7 @@ title: Configuration Reference |count|The maximum number of times to retry|`int`|`5` |enabled|Enables retries|`boolean`|`false` |errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`` +|factor|The retry backoff factor|`float32`|`2` |initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms` |maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` @@ -1011,6 +1016,7 @@ title: Configuration Reference |Key|Description|Type|Default Value| |---|-----------|----|-------------| +|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false` |connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s` |heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` |initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5` @@ -1136,6 +1142,7 @@ title: Configuration Reference |count|The maximum number of times to retry|`int`|`5` |enabled|Enables retries|`boolean`|`false` |errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`` +|factor|The retry backoff factor|`float32`|`2` |initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms` |maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` @@ -1165,6 +1172,7 @@ title: Configuration Reference |Key|Description|Type|Default Value| |---|-----------|----|-------------| +|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false` |connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s` |heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` |initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5` @@ -1276,6 +1284,7 @@ title: Configuration Reference |count|The maximum number of times to retry|`int`|`5` |enabled|Enables retries|`boolean`|`false` |errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`` +|factor|The retry backoff factor|`float32`|`2` |initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms` |maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` @@ -1305,6 +1314,7 @@ title: Configuration Reference |Key|Description|Type|Default Value| |---|-----------|----|-------------| +|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false` |connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s` |heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` |initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5` @@ -1510,6 +1520,7 @@ title: Configuration Reference |count|The maximum number of times to retry|`int`|`5` |enabled|Enables retries|`boolean`|`false` |errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`` +|factor|The retry backoff factor|`float32`|`2` |initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms` |maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` @@ -1539,6 +1550,7 @@ title: Configuration Reference |Key|Description|Type|Default Value| |---|-----------|----|-------------| +|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false` |connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s` |heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s` |initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5` diff --git a/doc-site/docs/swagger/swagger.yaml b/doc-site/docs/swagger/swagger.yaml index 0dfda6c637..d4e4e5ee79 100644 --- a/doc-site/docs/swagger/swagger.yaml +++ b/doc-site/docs/swagger/swagger.yaml @@ -488,218 +488,6 @@ paths: description: "" tags: - 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 - 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 /apis/{apiName}/interface: get: description: Gets a contract interface for a contract API @@ -2605,6 +2393,219 @@ paths: 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: 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 @@ -10230,7 +10231,117 @@ paths: type: string type: object description: Success - "202": + "202": + content: + application/json: + schema: + properties: + created: + description: The creation time of the identity + format: date-time + nullable: true + type: string + description: + 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 + within a FireFly network + type: string + id: + description: The UUID of the identity + format: uuid + nullable: true + type: string + messages: + description: References to the broadcast messages that established + this identity and proved ownership of the associated verifiers + (keys) + properties: + claim: + description: The UUID of claim message + format: uuid + nullable: true + type: string + 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 + identities + format: uuid + nullable: true + type: string + type: object + name: + 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 + identities are always defined in the ff_system namespace + type: string + parent: + 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 + updatable profile information of an identity + 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 + type: string + updated: + description: The last update time of the identity profile + format: date-time + nullable: true + type: string + type: object + description: Success + default: + description: "" + tags: + - Default Namespace + /identities/{did}: + get: + description: Gets an identity by its DID + operationId: getIdentityByDID + 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 + responses: + "200": content: application/json: schema: @@ -10309,13 +10420,37 @@ paths: format: date-time nullable: true type: string + verifiers: + 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, + that have been bound to this identity and can be used to prove + data orignates from that identity + properties: + type: + description: The type of the verifier + enum: + - cardano_address + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id + type: string + value: + description: The verifier string, such as an Ethereum address, + or Fabric MSP identifier + type: string + type: object + type: array type: object description: Success default: description: "" tags: - Default Namespace - /identities/{did}: + /identities/{iid}: get: description: Gets an identity by its ID operationId: getIdentityByID @@ -13705,290 +13840,7 @@ paths: 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}/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 - responses: - "204": - content: - application/json: {} - description: Success - default: - description: "" - tags: - - Non-Default Namespace - get: - 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 - 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 - default: - description: "" - tags: - - 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 - 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": + "202": content: application/json: schema: @@ -14060,7 +13912,71 @@ paths: type: object type: object description: Success - "202": + default: + description: "" + tags: + - 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 + responses: + "204": + content: + application/json: {} + description: Success + default: + description: "" + tags: + - Non-Default Namespace + get: + 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 + responses: + "200": content: application/json: schema: @@ -16553,7 +16469,227 @@ paths: content: application/json: schema: - additionalProperties: {} + additionalProperties: {} + type: object + description: Success + 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: 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: @@ -24706,6 +24842,147 @@ paths: tags: - Non-Default Namespace /namespaces/{ns}/identities/{did}: + get: + description: Gets an identity by its DID + operationId: getIdentityByDIDNamespace + 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 + responses: + "200": + content: + application/json: + schema: + properties: + created: + description: The creation time of the identity + format: date-time + nullable: true + type: string + description: + 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 + within a FireFly network + type: string + id: + description: The UUID of the identity + format: uuid + nullable: true + type: string + messages: + description: References to the broadcast messages that established + this identity and proved ownership of the associated verifiers + (keys) + properties: + claim: + description: The UUID of claim message + format: uuid + nullable: true + type: string + 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 + identities + format: uuid + nullable: true + type: string + type: object + name: + 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 + identities are always defined in the ff_system namespace + type: string + parent: + 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 + updatable profile information of an identity + 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 + type: string + updated: + description: The last update time of the identity profile + format: date-time + nullable: true + type: string + verifiers: + 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, + that have been bound to this identity and can be used to prove + data orignates from that identity + properties: + type: + description: The type of the verifier + enum: + - cardano_address + - ethereum_address + - tezos_address + - fabric_msp_id + - dx_peer_id + type: string + value: + description: The verifier string, such as an Ethereum address, + or Fabric MSP identifier + type: string + type: object + type: array + type: object + description: Success + default: + description: "" + tags: + - Non-Default Namespace + /namespaces/{ns}/identities/{iid}: get: description: Gets an identity by its ID operationId: getIdentityByIDNamespace diff --git a/go.mod b/go.mod index 5545d86b71..85f206c4fd 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/golang-migrate/migrate/v4 v4.17.0 github.com/gorilla/mux v1.8.1 github.com/gorilla/websocket v1.5.1 - github.com/hyperledger/firefly-common v1.5.4 + github.com/hyperledger/firefly-common v1.5.6 github.com/hyperledger/firefly-signer v1.1.21 github.com/jarcoal/httpmock v1.2.0 github.com/lib/pq v1.10.9 diff --git a/go.sum b/go.sum index 744decdf6d..ed564671d9 100644 --- a/go.sum +++ b/go.sum @@ -77,8 +77,8 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hyperledger/firefly-common v1.5.4 h1:UFnN+4tzGIqHnAPh1Q9zw9sKrxwlgG7R1QFP2AIxg8g= -github.com/hyperledger/firefly-common v1.5.4/go.mod h1:1Xawm5PUhxT7k+CL/Kr3i1LE3cTTzoQwZMLimvlW8rs= +github.com/hyperledger/firefly-common v1.5.6 h1:z1QsMSkyQ6t6deNhMI68OZV3QidutOE3zU3buqC5M5o= +github.com/hyperledger/firefly-common v1.5.6/go.mod h1:1Xawm5PUhxT7k+CL/Kr3i1LE3cTTzoQwZMLimvlW8rs= github.com/hyperledger/firefly-signer v1.1.21 h1:r7cTOw6e/6AtiXLf84wZy6Z7zppzlc191HokW2hv4N4= github.com/hyperledger/firefly-signer v1.1.21/go.mod h1:axrlSQeKrd124UdHF5L3MkTjb5DeTcbJxJNCZ3JmcWM= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= diff --git a/go.work.sum b/go.work.sum index dcaf859dba..dad68a1e10 100644 --- a/go.work.sum +++ b/go.work.sum @@ -361,6 +361,8 @@ github.com/hyperledger/firefly-common v1.5.3 h1:ujiDT4eI/QxP1E0ahlJALDn0EsI8wk2M github.com/hyperledger/firefly-common v1.5.3/go.mod h1:1Xawm5PUhxT7k+CL/Kr3i1LE3cTTzoQwZMLimvlW8rs= github.com/hyperledger/firefly-common v1.5.4 h1:UFnN+4tzGIqHnAPh1Q9zw9sKrxwlgG7R1QFP2AIxg8g= github.com/hyperledger/firefly-common v1.5.4/go.mod h1:1Xawm5PUhxT7k+CL/Kr3i1LE3cTTzoQwZMLimvlW8rs= +github.com/hyperledger/firefly-common v1.5.6 h1:z1QsMSkyQ6t6deNhMI68OZV3QidutOE3zU3buqC5M5o= +github.com/hyperledger/firefly-common v1.5.6/go.mod h1:1Xawm5PUhxT7k+CL/Kr3i1LE3cTTzoQwZMLimvlW8rs= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= github.com/jackc/pgconn v1.14.0 h1:vrbA9Ud87g6JdFWkHTJXppVce58qPIdP7N8y0Ml/A7Q= diff --git a/internal/apiserver/route_put_contract_api.go b/internal/apiserver/route_put_contract_api.go index 818c5e0fe3..7cbd0b5f72 100644 --- a/internal/apiserver/route_put_contract_api.go +++ b/internal/apiserver/route_put_contract_api.go @@ -32,7 +32,7 @@ var putContractAPI = &ffapi.Route{ Path: "apis/{id}", Method: http.MethodPut, PathParams: []*ffapi.PathParam{ - {Name: "id", Example: "id", Description: coremsgs.APIParamsContractAPIName}, + {Name: "id", Example: "id", Description: coremsgs.APIParamsContractAPIID}, }, QueryParams: []*ffapi.QueryParam{ {Name: "confirm", Description: coremsgs.APIConfirmMsgQueryParam, IsBool: true, Example: "true"},