> For the complete documentation index, see [llms.txt](https://docs.bbchain.com.br/bbchain-ebs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bbchain.com.br/bbchain-ebs/bbchain-ebs-pt/para-desenvolvedores/api-reference/network-management/subscriptions/models.md).

# Models

## The BesuExternalNetworkDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"BesuExternalNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"bootnodes":{"type":"array","items":{"type":"string"}},"nodeName":{"type":"string"},"genesisFile":{"type":"string"},"tenant":{"$ref":"#/components/schemas/DedicatedNetworkDTOAllOfTenant"}}}]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"DedicatedNetworkDTOAllOfTenant":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}}}}}}
```

## The CordaNodeEnterpriseDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"CordaNodeEnterpriseDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"networkId":{"type":"integer","format":"int64"},"componentId":{"type":"integer","format":"int64"},"networkName":{"type":"string","readOnly":true},"besuValidator":{"type":"boolean"},"besuBootNode":{"type":"boolean"},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"explorer":{"type":"string","description":"explorer endpoint.","readOnly":true},"ports":{"type":"array","items":{"$ref":"#/components/schemas/PortDTO"},"readOnly":true},"enode":{"type":"string","readOnly":true},"customer":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"nodeDomain":{"type":"string","readOnly":true}}}],"required":["legalName","participant"]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"NodeBaseLegalName":{"type":"object","properties":{"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"}},"required":["organization"]},"HardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus."},"ram":{"type":"integer","format":"int64","description":"Size of RAM."}},"required":["ram","vcpu"]},"PortDTO":{"type":"object","properties":{"name":{"type":"string"},"number":{"type":"integer","format":"int64"}}}}}}
```

## The CordaNodeOSDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"CordaNodeOSDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"networkId":{"type":"integer","format":"int64"},"componentId":{"type":"integer","format":"int64"},"networkName":{"type":"string","readOnly":true},"besuValidator":{"type":"boolean"},"besuBootNode":{"type":"boolean"},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"explorer":{"type":"string","description":"explorer endpoint.","readOnly":true},"ports":{"type":"array","items":{"$ref":"#/components/schemas/PortDTO"},"readOnly":true},"enode":{"type":"string","readOnly":true},"customer":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"nodeDomain":{"type":"string","readOnly":true}}}],"required":["legalName","participant"]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"NodeBaseLegalName":{"type":"object","properties":{"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"}},"required":["organization"]},"HardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus."},"ram":{"type":"integer","format":"int64","description":"Size of RAM."}},"required":["ram","vcpu"]},"PortDTO":{"type":"object","properties":{"name":{"type":"string"},"number":{"type":"integer","format":"int64"}}}}}}
```

## The DedicatedCordaEnterpriseNetworkDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"DedicatedCordaEnterpriseNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"status":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"alias":{"type":"string","description":"An alias for the network being created. Used to be easily recognized by the user."},"name":{"type":"string","description":"The name of the network as it will be built in the cloud. It must: be lowercase; not contain special characters; not be longer than X characters. TODO: define the max length properly","pattern":"^([a-z0-9]+)(\\-[a-z0-9]+)*"},"explorer":{"type":"string","readOnly":true},"internalDomain":{"type":"string","readOnly":true},"isPublic":{"type":"boolean"},"nodeNames":{"type":"array","description":"List of node names used in network creation.","items":{"type":"string"}},"payer":{"type":"string","format":"uuid","readOnly":true},"protocol":{"$ref":"#/components/schemas/NetworkDescriptionBaseProtocol"},"customer":{"type":"integer","format":"int64"},"tenant":{"$ref":"#/components/schemas/TenantDTO"},"creationDate":{"type":"string","format":"date-time","readOnly":true},"createdBy":{"type":"string","description":"User or entity that created the network.","readOnly":true},"participants":{"type":"integer","format":"int64","readOnly":true},"nodes":{"type":"integer","format":"int64","readOnly":true},"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"},"platformVersion":{"type":"integer","format":"int32","readOnly":true},"isExternal":{"type":"boolean","readOnly":true},"hasGenesis":{"type":"boolean","readOnly":true},"sandboxConfiguration":{"$ref":"#/components/schemas/SandboxConfiguration"}}}],"required":["alias","city","country","customer","organization","protocol","tenant"]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"NetworkDescriptionBaseProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","readOnly":true},"tag":{"type":"string","readOnly":true}},"required":["id"]},"TenantDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the tenant.","readOnly":true},"lastUpdated":{"type":"string","format":"date-time","description":"Last time the tenant was updated.","readOnly":true},"location":{"$ref":"#/components/schemas/TenantLocationDTO"},"tier":{"$ref":"#/components/schemas/TenantTierDTO"}}},"TenantLocationDTO":{"type":"object","properties":{"name":{"type":"string","description":"The region where the cluster is deployed."},"coordinates":{"$ref":"#/components/schemas/TenantLocationDTOCoordinates"}},"required":["coordinates","name"]},"TenantLocationDTOCoordinates":{"type":"object","properties":{"longitude":{"type":"string"},"latitude":{"type":"string"}},"required":["latitude","longitude"]},"TenantTierDTO":{"type":"object","properties":{"name":{"type":"string","description":"User friendly name for cluster sizing."},"description":{"type":"string","description":"Info about the tenant"},"sizing":{"$ref":"#/components/schemas/TenantHardwareSizeDTO"},"public":{"type":"boolean","description":"Defines if it is a public tenant or not"}}},"TenantHardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus.","readOnly":true},"ram":{"type":"integer","format":"int64","description":"Size of RAM.","readOnly":true}},"required":["ram","vcpu"]},"SandboxConfiguration":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"network":{"type":"integer","format":"int64"},"mainUrl":{"type":"string"},"available":{"type":"boolean"}},"required":["available","mainUrl","network"]}}}}
```

## The DedicatedCordaOSNetworkDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"DedicatedCordaOSNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"status":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"alias":{"type":"string","description":"An alias for the network being created. Used to be easily recognized by the user."},"name":{"type":"string","description":"The name of the network as it will be built in the cloud. It must: be lowercase; not contain special characters; not be longer than X characters. TODO: define the max length properly","pattern":"^([a-z0-9]+)(\\-[a-z0-9]+)*"},"explorer":{"type":"string","readOnly":true},"internalDomain":{"type":"string","readOnly":true},"isPublic":{"type":"boolean"},"nodeNames":{"type":"array","description":"List of node names used in network creation.","items":{"type":"string"}},"payer":{"type":"string","format":"uuid","readOnly":true},"protocol":{"$ref":"#/components/schemas/NetworkDescriptionBaseProtocol"},"customer":{"type":"integer","format":"int64"},"tenant":{"$ref":"#/components/schemas/TenantDTO"},"creationDate":{"type":"string","format":"date-time","readOnly":true},"createdBy":{"type":"string","description":"User or entity that created the network.","readOnly":true},"participants":{"type":"integer","format":"int64","readOnly":true},"nodes":{"type":"integer","format":"int64","readOnly":true},"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"},"platformVersion":{"type":"integer","format":"int32","readOnly":true},"isExternal":{"type":"boolean","readOnly":true},"hasGenesis":{"type":"boolean","readOnly":true},"sandboxConfiguration":{"$ref":"#/components/schemas/SandboxConfiguration"}}}],"required":["alias","city","country","customer","organization","protocol","tenant"]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"NetworkDescriptionBaseProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","readOnly":true},"tag":{"type":"string","readOnly":true}},"required":["id"]},"TenantDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the tenant.","readOnly":true},"lastUpdated":{"type":"string","format":"date-time","description":"Last time the tenant was updated.","readOnly":true},"location":{"$ref":"#/components/schemas/TenantLocationDTO"},"tier":{"$ref":"#/components/schemas/TenantTierDTO"}}},"TenantLocationDTO":{"type":"object","properties":{"name":{"type":"string","description":"The region where the cluster is deployed."},"coordinates":{"$ref":"#/components/schemas/TenantLocationDTOCoordinates"}},"required":["coordinates","name"]},"TenantLocationDTOCoordinates":{"type":"object","properties":{"longitude":{"type":"string"},"latitude":{"type":"string"}},"required":["latitude","longitude"]},"TenantTierDTO":{"type":"object","properties":{"name":{"type":"string","description":"User friendly name for cluster sizing."},"description":{"type":"string","description":"Info about the tenant"},"sizing":{"$ref":"#/components/schemas/TenantHardwareSizeDTO"},"public":{"type":"boolean","description":"Defines if it is a public tenant or not"}}},"TenantHardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus.","readOnly":true},"ram":{"type":"integer","format":"int64","description":"Size of RAM.","readOnly":true}},"required":["ram","vcpu"]},"SandboxConfiguration":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"network":{"type":"integer","format":"int64"},"mainUrl":{"type":"string"},"available":{"type":"boolean"}},"required":["available","mainUrl","network"]}}}}
```

## The DedicatedNetworkDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"DedicatedNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"tenant":{"$ref":"#/components/schemas/DedicatedNetworkDTOAllOfTenant"},"nodeNames":{"type":"array","items":{"type":"string"}},"isPublic":{"type":"boolean"}}}]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"DedicatedNetworkDTOAllOfTenant":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}}}}}}
```

## The DedicatedNetworkDTOAllOfTenant object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"DedicatedNetworkDTOAllOfTenant":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}}}}}}
```

## The ExternalIntegrationDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ExternalIntegrationDTO":{"type":"object","properties":{"source":{"type":"string","enum":["EBS","ON_PREMISE"]},"protocol":{"type":"string","enum":["BESU","DB"]},"nodeId":{"type":"integer","format":"int64"},"jdbcUrl":{"type":"string"},"nodeUrl":{"type":"string"}},"required":["protocol","source"]}}}}
```

## The FullNodeDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"FullNodeDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"networkId":{"type":"integer","format":"int64"}}}]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]}}}}
```

## The HardwareSizeDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"HardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus."},"ram":{"type":"integer","format":"int64","description":"Size of RAM."}},"required":["ram","vcpu"]}}}}
```

## The NetworkDescriptionBaseProtocol object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"NetworkDescriptionBaseProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","readOnly":true},"tag":{"type":"string","readOnly":true}},"required":["id"]}}}}
```

## The NodeBaseLegalName object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"NodeBaseLegalName":{"type":"object","properties":{"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"}},"required":["organization"]}}}}
```

## The NodeBaseNetworkProtocol object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]}}}}
```

## The PortDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"PortDTO":{"type":"object","properties":{"name":{"type":"string"},"number":{"type":"integer","format":"int64"}}}}}}
```

## The PtahNetworkSubscriptionMetadataDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"PtahNetworkSubscriptionMetadataDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"governance":{"type":"string","description":"User Friendly Name."},"integrationLayer":{"type":"string","description":"User Friendly Name."},"balance":{"type":"string","description":"User Friendly Name."},"dispatcher":{"type":"string","description":"User Friendly Name"},"matcher":{"type":"string","description":"User Friendly Name"},"proof":{"type":"string","description":"User Friendly Name"},"firstIdentity":{"type":"string"},"tenant":{"type":"integer","format":"int64"},"organization":{"type":"integer","format":"int64"},"balanceBlockchainIntegration":{"$ref":"#/components/schemas/ExternalIntegrationDTO"},"proofBlockchainIntegration":{"$ref":"#/components/schemas/ExternalIntegrationDTO"}}}],"required":["balanceBlockchainIntegration","firstIdentity","name","organization","proofBlockchainIntegration","tenant"]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"ExternalIntegrationDTO":{"type":"object","properties":{"source":{"type":"string","enum":["EBS","ON_PREMISE"]},"protocol":{"type":"string","enum":["BESU","DB"]},"nodeId":{"type":"integer","format":"int64"},"jdbcUrl":{"type":"string"},"nodeUrl":{"type":"string"}},"required":["protocol","source"]}}}}
```

## The SandboxConfiguration object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"SandboxConfiguration":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"network":{"type":"integer","format":"int64"},"mainUrl":{"type":"string"},"available":{"type":"boolean"}},"required":["available","mainUrl","network"]}}}}
```

## The StripeCheckoutDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"StripeCheckoutDTO":{"type":"object","properties":{"productId":{"type":"integer","format":"int64"},"customerId":{"type":"integer","format":"int64"},"redirectUrl":{"type":"string"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/BesuExternalNetworkDTO"},{"$ref":"#/components/schemas/CordaNodeEnterpriseDTO"},{"$ref":"#/components/schemas/CordaNodeOSDTO"},{"$ref":"#/components/schemas/DedicatedCordaEnterpriseNetworkDTO"},{"$ref":"#/components/schemas/DedicatedCordaOSNetworkDTO"},{"$ref":"#/components/schemas/DedicatedNetworkDTO"},{"$ref":"#/components/schemas/FullNodeDTO"},{"$ref":"#/components/schemas/PtahNetworkSubscriptionMetadataDTO"},{"$ref":"#/components/schemas/ValidatorDTO"}]}},"required":["customerId","metadata","redirectUrl"]},"BesuExternalNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"bootnodes":{"type":"array","items":{"type":"string"}},"nodeName":{"type":"string"},"genesisFile":{"type":"string"},"tenant":{"$ref":"#/components/schemas/DedicatedNetworkDTOAllOfTenant"}}}]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]},"DedicatedNetworkDTOAllOfTenant":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}}},"CordaNodeEnterpriseDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"networkId":{"type":"integer","format":"int64"},"componentId":{"type":"integer","format":"int64"},"networkName":{"type":"string","readOnly":true},"besuValidator":{"type":"boolean"},"besuBootNode":{"type":"boolean"},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"explorer":{"type":"string","description":"explorer endpoint.","readOnly":true},"ports":{"type":"array","items":{"$ref":"#/components/schemas/PortDTO"},"readOnly":true},"enode":{"type":"string","readOnly":true},"customer":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"nodeDomain":{"type":"string","readOnly":true}}}],"required":["legalName","participant"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"NodeBaseLegalName":{"type":"object","properties":{"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"}},"required":["organization"]},"HardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus."},"ram":{"type":"integer","format":"int64","description":"Size of RAM."}},"required":["ram","vcpu"]},"PortDTO":{"type":"object","properties":{"name":{"type":"string"},"number":{"type":"integer","format":"int64"}}},"CordaNodeOSDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"networkId":{"type":"integer","format":"int64"},"componentId":{"type":"integer","format":"int64"},"networkName":{"type":"string","readOnly":true},"besuValidator":{"type":"boolean"},"besuBootNode":{"type":"boolean"},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"explorer":{"type":"string","description":"explorer endpoint.","readOnly":true},"ports":{"type":"array","items":{"$ref":"#/components/schemas/PortDTO"},"readOnly":true},"enode":{"type":"string","readOnly":true},"customer":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"nodeDomain":{"type":"string","readOnly":true}}}],"required":["legalName","participant"]},"DedicatedCordaEnterpriseNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"status":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"alias":{"type":"string","description":"An alias for the network being created. Used to be easily recognized by the user."},"name":{"type":"string","description":"The name of the network as it will be built in the cloud. It must: be lowercase; not contain special characters; not be longer than X characters. TODO: define the max length properly","pattern":"^([a-z0-9]+)(\\-[a-z0-9]+)*"},"explorer":{"type":"string","readOnly":true},"internalDomain":{"type":"string","readOnly":true},"isPublic":{"type":"boolean"},"nodeNames":{"type":"array","description":"List of node names used in network creation.","items":{"type":"string"}},"payer":{"type":"string","format":"uuid","readOnly":true},"protocol":{"$ref":"#/components/schemas/NetworkDescriptionBaseProtocol"},"customer":{"type":"integer","format":"int64"},"tenant":{"$ref":"#/components/schemas/TenantDTO"},"creationDate":{"type":"string","format":"date-time","readOnly":true},"createdBy":{"type":"string","description":"User or entity that created the network.","readOnly":true},"participants":{"type":"integer","format":"int64","readOnly":true},"nodes":{"type":"integer","format":"int64","readOnly":true},"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"},"platformVersion":{"type":"integer","format":"int32","readOnly":true},"isExternal":{"type":"boolean","readOnly":true},"hasGenesis":{"type":"boolean","readOnly":true},"sandboxConfiguration":{"$ref":"#/components/schemas/SandboxConfiguration"}}}],"required":["alias","city","country","customer","organization","protocol","tenant"]},"NetworkDescriptionBaseProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","readOnly":true},"tag":{"type":"string","readOnly":true}},"required":["id"]},"TenantDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the tenant.","readOnly":true},"lastUpdated":{"type":"string","format":"date-time","description":"Last time the tenant was updated.","readOnly":true},"location":{"$ref":"#/components/schemas/TenantLocationDTO"},"tier":{"$ref":"#/components/schemas/TenantTierDTO"}}},"TenantLocationDTO":{"type":"object","properties":{"name":{"type":"string","description":"The region where the cluster is deployed."},"coordinates":{"$ref":"#/components/schemas/TenantLocationDTOCoordinates"}},"required":["coordinates","name"]},"TenantLocationDTOCoordinates":{"type":"object","properties":{"longitude":{"type":"string"},"latitude":{"type":"string"}},"required":["latitude","longitude"]},"TenantTierDTO":{"type":"object","properties":{"name":{"type":"string","description":"User friendly name for cluster sizing."},"description":{"type":"string","description":"Info about the tenant"},"sizing":{"$ref":"#/components/schemas/TenantHardwareSizeDTO"},"public":{"type":"boolean","description":"Defines if it is a public tenant or not"}}},"TenantHardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus.","readOnly":true},"ram":{"type":"integer","format":"int64","description":"Size of RAM.","readOnly":true}},"required":["ram","vcpu"]},"SandboxConfiguration":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"network":{"type":"integer","format":"int64"},"mainUrl":{"type":"string"},"available":{"type":"boolean"}},"required":["available","mainUrl","network"]},"DedicatedCordaOSNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"status":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"alias":{"type":"string","description":"An alias for the network being created. Used to be easily recognized by the user."},"name":{"type":"string","description":"The name of the network as it will be built in the cloud. It must: be lowercase; not contain special characters; not be longer than X characters. TODO: define the max length properly","pattern":"^([a-z0-9]+)(\\-[a-z0-9]+)*"},"explorer":{"type":"string","readOnly":true},"internalDomain":{"type":"string","readOnly":true},"isPublic":{"type":"boolean"},"nodeNames":{"type":"array","description":"List of node names used in network creation.","items":{"type":"string"}},"payer":{"type":"string","format":"uuid","readOnly":true},"protocol":{"$ref":"#/components/schemas/NetworkDescriptionBaseProtocol"},"customer":{"type":"integer","format":"int64"},"tenant":{"$ref":"#/components/schemas/TenantDTO"},"creationDate":{"type":"string","format":"date-time","readOnly":true},"createdBy":{"type":"string","description":"User or entity that created the network.","readOnly":true},"participants":{"type":"integer","format":"int64","readOnly":true},"nodes":{"type":"integer","format":"int64","readOnly":true},"organization":{"type":"string","maxLength":110,"minLength":2,"pattern":"^[A-Z][A-Za-z0-9]*(\\s[A-Za-z0-9]+)*$"},"city":{"type":"string","maxLength":64,"minLength":2,"pattern":"^[A-Z][A-Za-z]*(\\s[A-Za-z]+)*$"},"country":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z][A-Z]$"},"platformVersion":{"type":"integer","format":"int32","readOnly":true},"isExternal":{"type":"boolean","readOnly":true},"hasGenesis":{"type":"boolean","readOnly":true},"sandboxConfiguration":{"$ref":"#/components/schemas/SandboxConfiguration"}}}],"required":["alias","city","country","customer","organization","protocol","tenant"]},"DedicatedNetworkDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"tenant":{"$ref":"#/components/schemas/DedicatedNetworkDTOAllOfTenant"},"nodeNames":{"type":"array","items":{"type":"string"}},"isPublic":{"type":"boolean"}}}]},"FullNodeDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"networkId":{"type":"integer","format":"int64"}}}]},"PtahNetworkSubscriptionMetadataDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"governance":{"type":"string","description":"User Friendly Name."},"integrationLayer":{"type":"string","description":"User Friendly Name."},"balance":{"type":"string","description":"User Friendly Name."},"dispatcher":{"type":"string","description":"User Friendly Name"},"matcher":{"type":"string","description":"User Friendly Name"},"proof":{"type":"string","description":"User Friendly Name"},"firstIdentity":{"type":"string"},"tenant":{"type":"integer","format":"int64"},"organization":{"type":"integer","format":"int64"},"balanceBlockchainIntegration":{"$ref":"#/components/schemas/ExternalIntegrationDTO"},"proofBlockchainIntegration":{"$ref":"#/components/schemas/ExternalIntegrationDTO"}}}],"required":["balanceBlockchainIntegration","firstIdentity","name","organization","proofBlockchainIntegration","tenant"]},"ExternalIntegrationDTO":{"type":"object","properties":{"source":{"type":"string","enum":["EBS","ON_PREMISE"]},"protocol":{"type":"string","enum":["BESU","DB"]},"nodeId":{"type":"integer","format":"int64"},"jdbcUrl":{"type":"string"},"nodeUrl":{"type":"string"}},"required":["protocol","source"]},"ValidatorDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"networkId":{"type":"integer","format":"int64"}}}]}}}}
```

## The SubscriptionMetadata object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]}}}}
```

## The TenantDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"TenantDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the tenant.","readOnly":true},"lastUpdated":{"type":"string","format":"date-time","description":"Last time the tenant was updated.","readOnly":true},"location":{"$ref":"#/components/schemas/TenantLocationDTO"},"tier":{"$ref":"#/components/schemas/TenantTierDTO"}}},"TenantLocationDTO":{"type":"object","properties":{"name":{"type":"string","description":"The region where the cluster is deployed."},"coordinates":{"$ref":"#/components/schemas/TenantLocationDTOCoordinates"}},"required":["coordinates","name"]},"TenantLocationDTOCoordinates":{"type":"object","properties":{"longitude":{"type":"string"},"latitude":{"type":"string"}},"required":["latitude","longitude"]},"TenantTierDTO":{"type":"object","properties":{"name":{"type":"string","description":"User friendly name for cluster sizing."},"description":{"type":"string","description":"Info about the tenant"},"sizing":{"$ref":"#/components/schemas/TenantHardwareSizeDTO"},"public":{"type":"boolean","description":"Defines if it is a public tenant or not"}}},"TenantHardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus.","readOnly":true},"ram":{"type":"integer","format":"int64","description":"Size of RAM.","readOnly":true}},"required":["ram","vcpu"]}}}}
```

## The TenantHardwareSizeDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"TenantHardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus.","readOnly":true},"ram":{"type":"integer","format":"int64","description":"Size of RAM.","readOnly":true}},"required":["ram","vcpu"]}}}}
```

## The TenantLocationDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"TenantLocationDTO":{"type":"object","properties":{"name":{"type":"string","description":"The region where the cluster is deployed."},"coordinates":{"$ref":"#/components/schemas/TenantLocationDTOCoordinates"}},"required":["coordinates","name"]},"TenantLocationDTOCoordinates":{"type":"object","properties":{"longitude":{"type":"string"},"latitude":{"type":"string"}},"required":["latitude","longitude"]}}}}
```

## The TenantLocationDTOCoordinates object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"TenantLocationDTOCoordinates":{"type":"object","properties":{"longitude":{"type":"string"},"latitude":{"type":"string"}},"required":["latitude","longitude"]}}}}
```

## The TenantTierDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"TenantTierDTO":{"type":"object","properties":{"name":{"type":"string","description":"User friendly name for cluster sizing."},"description":{"type":"string","description":"Info about the tenant"},"sizing":{"$ref":"#/components/schemas/TenantHardwareSizeDTO"},"public":{"type":"boolean","description":"Defines if it is a public tenant or not"}}},"TenantHardwareSizeDTO":{"type":"object","properties":{"vcpu":{"type":"number","format":"double","description":"Number of virtual cpus.","readOnly":true},"ram":{"type":"integer","format":"int64","description":"Size of RAM.","readOnly":true}},"required":["ram","vcpu"]}}}}
```

## The ValidatorDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ValidatorDTO":{"allOf":[{"$ref":"#/components/schemas/SubscriptionMetadata"},{"type":"object","properties":{"name":{"type":"string"},"networkId":{"type":"integer","format":"int64"}}}]},"SubscriptionMetadata":{"type":"object","discriminator":{"propertyName":"productTag"},"properties":{"productTag":{"type":"string"}},"required":["productTag"]}}}}
```

## The Error object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"Error":{"type":"object","properties":{"message":{"type":"string","description":"Error status summary for the executed command."},"code":{"type":"string","description":"# `network.{field}.invalid` field is non compliant # `auth.invalid` Invalid credentials sent to the server. # `auth.verifyEmail` User did not verified their email. # `auth.mustChangePassword` User must change password.         # `user.emailAlreadyUsed` Email already exists. # `auth.forbidden` Forbidden access # `internal.unexpected` Unexpected error from server ","enum":["auth.invalid","auth.verifyEmail","auth.unauthorized","auth.forbidden","auth.expired","auth.blocked","auth.emailDomainBlocked","auth.mustChangePassword","auth.invalidPhoneVerificationCode","auth.passwordNotValid","auth.unableToUpdatePassword","user.notFound","user.created","user.notCreated","user.emailAlreadyExists","userHasRoleInClient","notaryNotFound","notaryPublishDateTooEarly","notaryOrganizationNameConflict","notaryIsCreating","network.notFound","network.alias.invalid","network.name.invalid","network.domain.invalid","network.organizationLegalName.invalid","network.city.invalid","network.country.invalid","network.nodeDomain.invalid","network.tenant.invalid","networkUserDoesNotHavePermissionOnNode","networkUserDoesNotHaveOperatorPermissionOnNode","networkUserDoesNotHavePermissionOnNotary","networkUserDoesNotHaveOperatorPermissionOnNotary","node.notFound","nodeOrganizationNameConflict","cordappVersionShouldBeDisabled","cordappShouldNotHaveVersions","shouldWaitPendingFlagday","internal.unexpected","field.required","field.invalid","field.size","field.pattern","illegalStatus","badRequest","timeConstraint","reachedMaxNetworks","reachedSubscriptionLimit","userReachedSubscriptionLimit","subscriptionTenantNotFoundBecauseNetworkNotFound","subscriptionNodeNameConflict","featureDisabled","adminActionNotFound","adminActionExists","adminActionNotCreated","adminActionDuplicated","adminCloudProviderNotFound","adminCloudProviderExists","adminCloudProviderNotCreated","adminProtocolNotFound","adminProtocolExists","adminProtocolNotCreated","adminPipelineServiceNotFound","adminPipelineServiceExists","adminPipelineServiceNotCreated","adminTenantNotFound","adminTenantExists","adminTenantNotCreated","adminPipelineNotFound","adminPipelineExists","adminPipelineNotCreated","adminComponentNotFound","adminComponentExists","adminComponentNotCreated","adminTenantSettingsNotFound","adminTenantSettingsExists","adminTenantSettingsNotCreated","adminTenantProtocolNotFound","adminTenantProtocolExists","adminTenantProtocolNotCreated","adminFeatureToggleNotFound","adminFeatureToggleExists","adminUserNotFound","adminNetworkNotFound","adminNetworkExists","adminNodeNotFound","adminNodeExists","adminNotaryNotFound","adminNotaryExists","adminPipelineActionDuplicated","adminAppNotFound","adminAppVersionNotFound","adminAppInstallationNotFound","adminComponentTypeNotFound","adminComponentTypeExists","adminBaseDltNotFound","adminBaseDltExists","adminBaseDltNotCreated","adminIdentityProviderNotFound","adminIdentityProviderExists","adminIdentityProviderNotCreated","adminNodeFeatureNotFound","adminNodeFeatureExists","adminNodeFeatureNotCreated","adminSpecializedModuleNotFound","adminSpecializedModuleExists"]}}}}}}
```

## The SubscriptionSelectorDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"SubscriptionSelectorDTO":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"checkoutId":{"type":"string"},"eventType":{"type":"string"},"subscriptionId":{"type":"string","format":"uuid"},"subscriptionName":{"type":"string"},"subscriptionStatus":{"type":"string"},"beneficiaryEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"purchaserEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"offerId":{"type":"string"},"planId":{"type":"string"},"testSubscription":{"type":"boolean"},"freeTrialSubscription":{"type":"boolean"}},"required":["beneficiaryEmail","eventType","purchaserEmail","subscriptionId","subscriptionName","subscriptionStatus"]}}}}
```

## The PageMetadata object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}}}}}
```

## The SubscriptionPage object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"SubscriptionPage":{"type":"object","properties":{"data":{"type":"array","items":{"type":"integer","format":"int64"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}},"required":["data","metadata"]},"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}}}}}
```

## The ProductDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ProductDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"tag":{"type":"string","enum":["BESU_REAL_DIGITAL_FULL_NODE","BESU_REAL_DIGITAL_VALIDATOR","BESU_REAL_DIGITAL_DEDICATED_NETWORK","BESU_DEDICATED_NETWORK","BESU_FULL_NODE","BESU_VALIDATOR","CORDA_ENTERPRISE_DEDICATED_NETWORK","CORDA_NODE_ENTERPRISE","CORDA_NOTARY_ENTERPRISE","CORDA_OPEN_SOURCE_DEDICATED_NETWORK","CORDA_NODE_OPENSOURCE","CORDA_NOTARY_OPENSOURCE","BESU_EXTERNAL_NETWORK","PTAH_DEDICATED_NETWORK","PTAH_BALANCE","PTAH_DISPATCHER","PTAH_MATCHER","PTAH_PROOF","PTAH_NODE","PTAH_EXECUTOR","PTAH_IDENTITY"],"readOnly":true},"price":{"type":"integer","format":"int64","readOnly":true},"currency":{"type":"string","readOnly":true},"protocolTag":{"type":"string","readOnly":true}},"required":["currency","id","price","protocolTag","tag"]}}}}
```

## The ProductPageDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ProductPageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProductDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"ProductDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"tag":{"type":"string","enum":["BESU_REAL_DIGITAL_FULL_NODE","BESU_REAL_DIGITAL_VALIDATOR","BESU_REAL_DIGITAL_DEDICATED_NETWORK","BESU_DEDICATED_NETWORK","BESU_FULL_NODE","BESU_VALIDATOR","CORDA_ENTERPRISE_DEDICATED_NETWORK","CORDA_NODE_ENTERPRISE","CORDA_NOTARY_ENTERPRISE","CORDA_OPEN_SOURCE_DEDICATED_NETWORK","CORDA_NODE_OPENSOURCE","CORDA_NOTARY_OPENSOURCE","BESU_EXTERNAL_NETWORK","PTAH_DEDICATED_NETWORK","PTAH_BALANCE","PTAH_DISPATCHER","PTAH_MATCHER","PTAH_PROOF","PTAH_NODE","PTAH_EXECUTOR","PTAH_IDENTITY"],"readOnly":true},"price":{"type":"integer","format":"int64","readOnly":true},"currency":{"type":"string","readOnly":true},"protocolTag":{"type":"string","readOnly":true}},"required":["currency","id","price","protocolTag","tag"]},"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}}}}}
```
