> 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/node/nodes-api-controller.md).

# Nodes Api Controller

## Updates a node's legal name. \*\*High Risk\*\*.

> It'll invalidate old transactions.<br>

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"LegalNameDTO":{"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":["city","country","organization"]},"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"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"}}},"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"]}}}}},"paths":{"/v1/networks/{network-id}/nodes/{node-id}/legal-name":{"put":{"tags":["nodes-api-controller"],"summary":"Updates a node's legal name. **High Risk**.","description":"It'll invalidate old transactions.\n","operationId":"putNodeLegalName","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegalNameDTO"}}},"required":true},"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeDTO"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## GET /v1/networks/{network-id}/nodes

> Get the nodes in the network

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NodesPageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NodeDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"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"}}},"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}},"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"]}}}}},"paths":{"/v1/networks/{network-id}/nodes":{"get":{"tags":["nodes-api-controller"],"summary":"Get the nodes in the network","operationId":"getNetworkNodes","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{}},{"name":"pageSize","in":"query","required":false,"schema":{}},{"name":"organization","in":"query","description":"Filters by the organization.","required":false,"schema":{"type":"string"}},{"name":"city","in":"query","description":"Filters by city.","required":false,"schema":{"type":"string"}},{"name":"country","in":"query","description":"Filters by country.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodesPageDTO"}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## POST /v1/networks/{network-id}/nodes

> Creates a new node in the network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"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"}}},"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"]}}}}},"paths":{"/v1/networks/{network-id}/nodes":{"post":{"tags":["nodes-api-controller"],"summary":"Creates a new node in the network.","operationId":"postNode","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeDTO"}}},"required":true},"responses":{"201":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeDTO"}}}},"400":{"description":"User error","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## GET /v1/nodes/{node-id}

> Gets a specific node

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"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"}}},"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"]}}}}},"paths":{"/v1/nodes/{node-id}":{"get":{"tags":["nodes-api-controller"],"summary":"Gets a specific node","operationId":"getNodeById","parameters":[{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeDTO"}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## DELETE /v1/nodes/{node-id}

>

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"paths":{"/v1/nodes/{node-id}":{"delete":{"tags":["nodes-api-controller"],"operationId":"deleteNodeById","parameters":[{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfull Request","content":{}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}},"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"]}}}}}}
```

## PATCH /v1/nodes/{node-id}

> Updates node sizing.

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UpdateDTO":{"type":"object","properties":{"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"command":{"type":"string","enum":["STOP","START","RESTART","PURGE"]}}},"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"]},"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"PortDTO":{"type":"object","properties":{"name":{"type":"string"},"number":{"type":"integer","format":"int64"}}},"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"]}}}}},"paths":{"/v1/nodes/{node-id}":{"patch":{"tags":["nodes-api-controller"],"summary":"Updates node sizing.","operationId":"updateNode","parameters":[{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDTO"}}},"required":true},"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeDTO"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## GET /v1/networks/{network-id}/nodes/{node-id}

> Gets a specific node

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"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"}}},"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"]}}}}},"paths":{"/v1/networks/{network-id}/nodes/{node-id}":{"get":{"tags":["nodes-api-controller"],"summary":"Gets a specific node","operationId":"getNode","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeDTO"}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## DELETE /v1/networks/{network-id}/nodes/{node-id}

>

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"paths":{"/v1/networks/{network-id}/nodes/{node-id}":{"delete":{"tags":["nodes-api-controller"],"operationId":"deleteNodes","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfull Request","content":{}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}},"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"]}}}}}}
```

## PATCH /v1/networks/{network-id}/nodes/{node-id}

> Updates node sizing.

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UpdateDTO":{"type":"object","properties":{"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"command":{"type":"string","enum":["STOP","START","RESTART","PURGE"]}}},"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"]},"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"PortDTO":{"type":"object","properties":{"name":{"type":"string"},"number":{"type":"integer","format":"int64"}}},"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"]}}}}},"paths":{"/v1/networks/{network-id}/nodes/{node-id}":{"patch":{"tags":["nodes-api-controller"],"summary":"Updates node sizing.","operationId":"patch","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDTO"}}},"required":true},"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeDTO"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## GET /v1/nodes

> Get the nodes in the network

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NodesPageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NodeDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"NodeDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/NodeBaseLegalName"},"participant":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64","readOnly":true},"networkProtocol":{"$ref":"#/components/schemas/NodeBaseNetworkProtocol"},"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"]},"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"]},"NodeBaseNetworkProtocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tag":{"type":"string"},"name":{"type":"string"}},"required":["id","name","tag"]},"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"}}},"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}},"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"]}}}}},"paths":{"/v1/nodes":{"get":{"tags":["nodes-api-controller"],"summary":"Get the nodes in the network","operationId":"getNodes","parameters":[{"name":"networkId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{}},{"name":"pageSize","in":"query","required":false,"schema":{}},{"name":"orderBy","in":"query","required":false,"schema":{}},{"name":"order","in":"query","required":false,"schema":{"enum":["ASC","DESC"]}},{"name":"organization","in":"query","description":"Filters by the organization.","required":false,"schema":{"type":"string"}},{"name":"city","in":"query","description":"Filters by city.","required":false,"schema":{"type":"string"}},{"name":"country","in":"query","description":"Filters by country.","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","description":"Filters by node type.","required":false,"schema":{"enum":["VALIDATOR","VALIDATOR_BOOTNODE","BOOTNODE","FULLNODE"]}},{"name":"myRole","in":"query","description":"filter by which role you have on the node.","required":false,"schema":{"enum":["OWNER","OPERATOR","PARTICIPANT"]}},{"name":"customer","in":"query","description":"Filters by Customer","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"networkName","in":"query","description":"Filters by node status.","required":false,"schema":{"type":"string"}},{"name":"currentStatus","in":"query","description":"Filters by node status.","required":false,"schema":{"type":"array","items":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]}}},{"name":"protocol","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodesPageDTO"}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## Get nodes statistics

> Returns aggregated statistics about nodes including total count and count by protocol

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NodeStatisticsDTO":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"Total number of nodes"},"byProtocol":{"type":"array","description":"Count of nodes grouped by protocol","items":{"$ref":"#/components/schemas/ProtocolCountDTO"}}},"required":["byProtocol","total"]},"ProtocolCountDTO":{"type":"object","properties":{"protocol":{"type":"string","description":"Protocol type","enum":["BESU","CORDA","PTAH","OTHER"]},"count":{"type":"integer","format":"int64","description":"Number of nodes with this protocol"}},"required":["count","protocol"]},"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"]}}}}},"paths":{"/v1/nodes/statistics":{"get":{"tags":["nodes-api-controller"],"summary":"Get nodes statistics","description":"Returns aggregated statistics about nodes including total count and count by protocol","operationId":"getNodesStatistics","responses":{"200":{"description":"Successfully retrieved node statistics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeStatisticsDTO"}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```

## GET /v1/networks/{network-id}/nodes/{node-id}/apps

> Gets list of apps for a specific node

```json
{"openapi":"3.1.0","info":{"title":"EBS Nodes API","version":"0.1.0"},"servers":[{"url":"https://nodes-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CorDappsPageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CorDappPageItemDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"CorDappPageItemDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string"},"version":{"type":"string","description":"App version"},"developer":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["RUNNING","INSTALLING","REMOVING","INSTALLED","NOT_INSTALLED","ERROR","CREATED","CREATING"]}}},"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}},"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"]}}}}},"paths":{"/v1/networks/{network-id}/nodes/{node-id}/apps":{"get":{"tags":["nodes-api-controller"],"summary":"Gets list of apps for a specific node","operationId":"getNodeApps","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"node-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{}},{"name":"pageSize","in":"query","required":false,"schema":{}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorDappsPageDTO"}}}},"401":{"description":"User is not authenticated.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"403":{"description":"User is authenticated but not allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"404":{"description":"Resource does not exists.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"500":{"description":"The message code is an encoded string that must be sent to the support team as a ticket.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}}}}}}}
```
