> 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/notaries/corda-notaries-api-controller.md).

# Corda Notaries Api Controller

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

> It will change the notary's legal name. This change might break current CorDapps if their configuration discriminates\
> a specific notary for use when updating states. It will block any Linear State that had already an update for further use.\
> If you need to change a notary, it is recommended to:\
> &#x20; \* Create another notary\
> &#x20; \* Run notary change transaction\
> &#x20; \* Delete old notary<br>

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryUpdateLegalNameDTO":{"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]$"},"publishDate":{"type":"string","format":"date-time"}},"required":["city","country","organization"]},"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}/notaries/{notary-id}/workers/{worker-id}/legal-name":{"put":{"tags":["corda-notaries-api-controller"],"summary":"Updates a worker notary's legal name. **High Risk**.","description":"It will change the notary's legal name. This change might break current CorDapps if their configuration discriminates\na specific notary for use when updating states. It will block any Linear State that had already an update for further use.\nIf you need to change a notary, it is recommended to:\n  * Create another notary\n  * Run notary change transaction\n  * Delete old notary\n","operationId":"putNotaryLegalName","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"worker-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryUpdateLegalNameDTO"}}},"required":true},"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"}}}}}}}}}}
```

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

> It will change the notary's legal name. This change might break current CorDapps if their configuration discriminates\
> a specific notary for use when updating states. It will block any Linear State that had already an update for further use.\
> If you need to change a notary, it is recommended to:\
> &#x20; \* Create another notary\
> &#x20; \* Run notary change transaction\
> &#x20; \* Delete old notary<br>

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryUpdateLegalNameDTO":{"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]$"},"publishDate":{"type":"string","format":"date-time"}},"required":["city","country","organization"]},"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}/notaries/{notary-id}/legal-name":{"put":{"tags":["corda-notaries-api-controller"],"summary":"Updates a service notary's legal name. **High Risk**.","description":"It will change the notary's legal name. This change might break current CorDapps if their configuration discriminates\na specific notary for use when updating states. It will block any Linear State that had already an update for further use.\nIf you need to change a notary, it is recommended to:\n  * Create another notary\n  * Run notary change transaction\n  * Delete old notary\n","operationId":"putServiceLegalName","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryUpdateLegalNameDTO"}}},"required":true},"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"}}}}}}}}}}
```

## GET /v1/notaries/{notary-id}/workers

> Gets the paginated list of notary workers in this network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"WorkersPageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotaryWorkerDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","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"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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/notaries/{notary-id}/workers":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets the paginated list of notary workers in this network.","operationId":"getNotaries","parameters":[{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"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"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkersPageDTO"}}}},"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/notaries/{notary-id}/workers

> Creates a new notary in the network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","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"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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/notaries/{notary-id}/workers":{"post":{"tags":["corda-notaries-api-controller"],"summary":"Creates a new notary in the network.","operationId":"postNotary","parameters":[{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryWorkerDTO"}}},"required":true},"responses":{"201":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryWorkerDTO"}}}},"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}/notaries

> Gets the paginated list of notary services in this network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryServicePageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotaryServiceDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"NotaryServiceDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/LegalNameDTO"},"publishDate":{"type":"string","format":"date-time","description":"This must be in the future. At least 10 minutes in the future to give time for the service to create the components before executing the [flag day](https://docs.r3.com/en/platform/corda/1.5/cenm/updating-network-parameters.html). We adopted the same procedure for nodes only for a matter of consistency and to add some quality of life for the end-user. "},"id":{"type":"integer","format":"int64","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"network":{"type":"integer","format":"int64","readOnly":true},"networkName":{"type":"string","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"workers":{"type":"array","items":{"$ref":"#/components/schemas/WorkerDTO"},"readOnly":true},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true},"customer":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"tenantId":{"type":"integer","format":"int64"}},"required":["legalName","publishDate"]},"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"]},"WorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"}},"required":["city","country","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"]},"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}/notaries":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets the paginated list of notary services in this network.","operationId":"getNetworkServices","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/NotaryServicePageDTO"}}}},"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}/notaries

> Creates a new notary service in the network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryServiceDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/LegalNameDTO"},"publishDate":{"type":"string","format":"date-time","description":"This must be in the future. At least 10 minutes in the future to give time for the service to create the components before executing the [flag day](https://docs.r3.com/en/platform/corda/1.5/cenm/updating-network-parameters.html). We adopted the same procedure for nodes only for a matter of consistency and to add some quality of life for the end-user. "},"id":{"type":"integer","format":"int64","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"network":{"type":"integer","format":"int64","readOnly":true},"networkName":{"type":"string","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"workers":{"type":"array","items":{"$ref":"#/components/schemas/WorkerDTO"},"readOnly":true},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true},"customer":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"tenantId":{"type":"integer","format":"int64"}},"required":["legalName","publishDate"]},"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"]},"WorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"}},"required":["city","country","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"]},"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}/notaries":{"post":{"tags":["corda-notaries-api-controller"],"summary":"Creates a new notary service in the network.","operationId":"postService","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryServiceDTO"}}},"required":true},"responses":{"201":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryServiceDTO"}}}},"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}/notaries/{notary-id}/workers

> Gets the paginated list of notary workers in this network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"WorkersPageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotaryWorkerDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","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"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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}/notaries/{notary-id}/workers":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets the paginated list of notary workers in this network.","operationId":"getNetworkNotaries","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-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/WorkersPageDTO"}}}},"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}/notaries/{notary-id}/workers

> Creates a new notary in the network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","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"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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}/notaries/{notary-id}/workers":{"post":{"tags":["corda-notaries-api-controller"],"summary":"Creates a new notary in the network.","operationId":"networkPostNotary","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryWorkerDTO"}}},"required":true},"responses":{"201":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryWorkerDTO"}}}},"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/notaries/{notary-id}

> Gets a specific notary service in the network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryServiceDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/LegalNameDTO"},"publishDate":{"type":"string","format":"date-time","description":"This must be in the future. At least 10 minutes in the future to give time for the service to create the components before executing the [flag day](https://docs.r3.com/en/platform/corda/1.5/cenm/updating-network-parameters.html). We adopted the same procedure for nodes only for a matter of consistency and to add some quality of life for the end-user. "},"id":{"type":"integer","format":"int64","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"network":{"type":"integer","format":"int64","readOnly":true},"networkName":{"type":"string","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"workers":{"type":"array","items":{"$ref":"#/components/schemas/WorkerDTO"},"readOnly":true},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true},"customer":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"tenantId":{"type":"integer","format":"int64"}},"required":["legalName","publishDate"]},"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"]},"WorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"}},"required":["city","country","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"]},"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/notaries/{notary-id}":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets a specific notary service in the network.","operationId":"getServiceById","parameters":[{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryServiceDTO"}}}},"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/notaries/{notary-id}

>

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"paths":{"/v1/notaries/{notary-id}":{"delete":{"tags":["corda-notaries-api-controller"],"operationId":"deleteService","parameters":[{"name":"notary-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/notaries/{notary-id}

> Updates the status for operation services.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UpdateCommand":{"type":"object","properties":{"command":{"type":"string","enum":["STOP","START","RESTART","PURGE"]}}},"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/notaries/{notary-id}":{"patch":{"tags":["corda-notaries-api-controller"],"summary":"Updates the status for operation services.","operationId":"serviceOperation","parameters":[{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCommand"}}},"required":true},"responses":{"200":{"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"}}}}}}}}}}
```

## GET /v1/notaries/{notary-id}/workers/{worker-id}

> Gets a specific notary worker.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","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"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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/notaries/{notary-id}/workers/{worker-id}":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets a specific notary worker.","operationId":"getWorker","parameters":[{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"worker-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryWorkerDTO"}}}},"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/notaries/{notary-id}/workers/{worker-id}

>

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"paths":{"/v1/notaries/{notary-id}/workers/{worker-id}":{"delete":{"tags":["corda-notaries-api-controller"],"operationId":"deleteWorker","parameters":[{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"worker-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"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/notaries/{notary-id}/workers/{worker-id}

> Updates notary worker sizing.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-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"]},"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","organization"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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/notaries/{notary-id}/workers/{worker-id}":{"patch":{"tags":["corda-notaries-api-controller"],"summary":"Updates notary worker sizing.","operationId":"updateWorker","parameters":[{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"worker-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/NotaryWorkerDTO"}}}},"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}/notaries/{notary-id}

> Gets a specific notary service in the network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryServiceDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/LegalNameDTO"},"publishDate":{"type":"string","format":"date-time","description":"This must be in the future. At least 10 minutes in the future to give time for the service to create the components before executing the [flag day](https://docs.r3.com/en/platform/corda/1.5/cenm/updating-network-parameters.html). We adopted the same procedure for nodes only for a matter of consistency and to add some quality of life for the end-user. "},"id":{"type":"integer","format":"int64","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"network":{"type":"integer","format":"int64","readOnly":true},"networkName":{"type":"string","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"workers":{"type":"array","items":{"$ref":"#/components/schemas/WorkerDTO"},"readOnly":true},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true},"customer":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"tenantId":{"type":"integer","format":"int64"}},"required":["legalName","publishDate"]},"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"]},"WorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"}},"required":["city","country","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"]},"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}/notaries/{notary-id}":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets a specific notary service in the network.","operationId":"getNetworkServiceById","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryServiceDTO"}}}},"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}/notaries/{notary-id}

>

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"paths":{"/v1/networks/{network-id}/notaries/{notary-id}":{"delete":{"tags":["corda-notaries-api-controller"],"operationId":"networkDeleteService","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-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}/notaries/{notary-id}

> Updates the status for operation services.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UpdateCommand":{"type":"object","properties":{"command":{"type":"string","enum":["STOP","START","RESTART","PURGE"]}}},"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}/notaries/{notary-id}":{"patch":{"tags":["corda-notaries-api-controller"],"summary":"Updates the status for operation services.","operationId":"networkServiceOperation","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCommand"}}},"required":true},"responses":{"200":{"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"}}}}}}}}}}
```

## GET /v1/networks/{network-id}/notaries/{notary-id}/workers/{worker-id}

> Gets a specific notary worker.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","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"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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}/notaries/{notary-id}/workers/{worker-id}":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets a specific notary worker.","operationId":"getNotary","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"worker-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryWorkerDTO"}}}},"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}/notaries/{notary-id}/workers/{worker-id}

>

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"paths":{"/v1/networks/{network-id}/notaries/{notary-id}/workers/{worker-id}":{"delete":{"tags":["corda-notaries-api-controller"],"operationId":"deleteNotary","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"worker-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"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}/notaries/{notary-id}/workers/{worker-id}

> Updates notary worker sizing.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-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"]},"NotaryWorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"},"service":{"$ref":"#/components/schemas/ServiceDTO"},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true}},"required":["city","country","organization"]},"ServiceDTO":{"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]$"},"id":{"type":"integer","format":"int64"}},"required":["city","country","organization"]},"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}/notaries/{notary-id}/workers/{worker-id}":{"patch":{"tags":["corda-notaries-api-controller"],"summary":"Updates notary worker sizing.","operationId":"putNotary","parameters":[{"name":"network-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"notary-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"worker-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/NotaryWorkerDTO"}}}},"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/notaries

> Gets the paginated list of notary services in this network.

```json
{"openapi":"3.1.0","info":{"title":"EBS Notaries API","version":"0.1.0"},"servers":[{"url":"https://ntrs-p-bk-api.saas.ebs.bbchain.network","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NotaryServicePageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotaryServiceDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"NotaryServiceDTO":{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/LegalNameDTO"},"publishDate":{"type":"string","format":"date-time","description":"This must be in the future. At least 10 minutes in the future to give time for the service to create the components before executing the [flag day](https://docs.r3.com/en/platform/corda/1.5/cenm/updating-network-parameters.html). We adopted the same procedure for nodes only for a matter of consistency and to add some quality of life for the end-user. "},"id":{"type":"integer","format":"int64","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"network":{"type":"integer","format":"int64","readOnly":true},"networkName":{"type":"string","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"host":{"type":"string","description":"host endpoint.","readOnly":true},"workers":{"type":"array","items":{"$ref":"#/components/schemas/WorkerDTO"},"readOnly":true},"validator":{"type":"boolean","description":"Corda allows for validator. However, we are opting to lock it as non-validator for now. [Read more here.](https://docs.r3.com/en/platform/corda/4.6/open-source/key-concepts-notaries.html) ","readOnly":true},"customer":{"type":"integer","format":"int64"},"createdBy":{"type":"integer","format":"int64","description":"ID do usuário que criou o nó","readOnly":true},"tenantId":{"type":"integer","format":"int64"}},"required":["legalName","publishDate"]},"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"]},"WorkerDTO":{"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]$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time","readOnly":true},"currentStatus":{"type":"string","enum":["STARTING","RUNNING","CREATING","STOPPING","STOPPED","PENDING_UPDATE","DELETING","ERROR","PURGING","RESTARTING"]},"publishDate":{"type":"string","format":"date-time"},"size":{"$ref":"#/components/schemas/HardwareSizeDTO"}},"required":["city","country","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"]},"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/notaries":{"get":{"tags":["corda-notaries-api-controller"],"summary":"Gets the paginated list of notary services in this network.","operationId":"getServices","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":"customer","in":"query","description":"Filters by Customer","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Successfull Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotaryServicePageDTO"}}}},"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"}}}}}}}}}}
```
