> 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/users/models.md).

# Models

## The Error object

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

## The UpdateUserDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UpdateUserDTO":{"type":"object","properties":{"firstName":{"type":"string","maxLength":254,"minLength":3},"lastName":{"type":"string","maxLength":254,"minLength":2},"jobTitle":{"type":"string","description":"Describes the responsibilities of the job, the level of the job, or both."}}}}}}
```

## The RoleDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"RoleDTO":{"type":"object","properties":{"role":{"type":"string","enum":["owner","operator","participant"]},"message":{"type":"string","description":"Campo opcional caso o usuário queira enviar uma mensagem customizada para quem ele atribuiu uma role"},"name":{"type":"string"}},"required":["role"]}}}}
```

## The OrganizationDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"OrganizationDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3},"primaryEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"iconColor":{"type":"string","description":"Cor do ícone em hexadecimal (aceita com ou sem '#', ex: #1A2B3C)","pattern":"^#?[0-9a-fA-F]{6}$"},"iconUrl":{"type":"string","description":"URL pública do logotipo da organização (armazenamento de recursos)"},"companySize":{"type":"string"},"industry":{"type":"string"},"useCase":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["id","name","primaryEmail"]}}}}
```

## The UserCustomerProfileDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserCustomerProfileDTO":{"type":"object","properties":{"jobTitle":{"type":"string","description":"Describes the responsibilities of the job, the level of the job, or both."},"role":{"type":"string","enum":["owner","operator","participant"]},"customer":{"$ref":"#/components/schemas/OrganizationDTO"}}},"OrganizationDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3},"primaryEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"iconColor":{"type":"string","description":"Cor do ícone em hexadecimal (aceita com ou sem '#', ex: #1A2B3C)","pattern":"^#?[0-9a-fA-F]{6}$"},"iconUrl":{"type":"string","description":"URL pública do logotipo da organização (armazenamento de recursos)"},"companySize":{"type":"string"},"industry":{"type":"string"},"useCase":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["id","name","primaryEmail"]}}}}
```

## The UserDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"profiles":{"type":"array","items":{"$ref":"#/components/schemas/UserCustomerProfileDTO"}},"lastAccess":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ACTIVE","BLOCKED"],"readOnly":true}},"required":["email","name"]},"UserCustomerProfileDTO":{"type":"object","properties":{"jobTitle":{"type":"string","description":"Describes the responsibilities of the job, the level of the job, or both."},"role":{"type":"string","enum":["owner","operator","participant"]},"customer":{"$ref":"#/components/schemas/OrganizationDTO"}}},"OrganizationDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3},"primaryEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"iconColor":{"type":"string","description":"Cor do ícone em hexadecimal (aceita com ou sem '#', ex: #1A2B3C)","pattern":"^#?[0-9a-fA-F]{6}$"},"iconUrl":{"type":"string","description":"URL pública do logotipo da organização (armazenamento de recursos)"},"companySize":{"type":"string"},"industry":{"type":"string"},"useCase":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["id","name","primaryEmail"]}}}}
```

## The SignUpInfoDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"SignUpInfoDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"organizationName":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"password":{"type":"string","maxLength":254,"minLength":3},"phone":{"type":"string"},"verificationCode":{"type":"string"},"token":{"type":"string"}},"required":["name","organizationName","password","phone","verificationCode"]}}}}
```

## The ResponsePersonalAccessTokenDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ResponsePersonalAccessTokenDTO":{"type":"object","properties":{"token":{"type":"string"},"expires_in":{"type":"integer","format":"int32"},"token_type":{"type":"string"}},"required":["expires_in","token","token_type"]}}}}
```

## The PersonalAccessTokenComponentDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"PersonalAccessTokenComponentDTO":{"type":"object","properties":{"client":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["client","role"]}}}}
```

## The RequestPersonalAccessTokenDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"RequestPersonalAccessTokenDTO":{"type":"object","properties":{"name":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"components":{"type":"array","items":{"$ref":"#/components/schemas/PersonalAccessTokenComponentDTO"}}},"required":["components","expiresAt","name"]},"PersonalAccessTokenComponentDTO":{"type":"object","properties":{"client":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["client","role"]}}}}
```

## The UserNewPassword object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserNewPassword":{"type":"object","properties":{"oldPassword":{"type":"string","maxLength":254,"minLength":5},"newPassword":{"type":"string","maxLength":254,"minLength":5},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"}},"required":["email","newPassword","oldPassword"]}}}}
```

## The PasswordRecoveryInfoDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"PasswordRecoveryInfoDTO":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"}},"required":["email"]}}}}
```

## The UserPasswordForgotPassword object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserPasswordForgotPassword":{"type":"object","properties":{"newPassword":{"type":"string","maxLength":254,"minLength":5},"forgotPasswordId":{"type":"string","format":"uuid"}},"required":["forgotPasswordId","newPassword"]}}}}
```

## The TenantDTO object

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

## The TenantHardwareSizeDTO object

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

## The TenantLocationDTO object

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

## The TenantLocationDTOCoordinates object

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

## The TenantTierDTO object

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

## The TenantCreationDTO object

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

## The OrganizationMemberCreateDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"OrganizationMemberCreateDTO":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["email","role"]}}}}
```

## The ProfileOrganizationDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ProfileOrganizationDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3},"iconColor":{"type":"string","description":"Cor do ícone em hexadecimal (aceita com ou sem '#', ex: #1A2B3C)","pattern":"^#?[0-9a-fA-F]{6}$"},"companySize":{"type":"string"},"industry":{"type":"string"},"useCase":{"type":"string"},"members":{"type":"array","description":"Lista de membros (usuários já cadastrados) para adicionar na organização","items":{"$ref":"#/components/schemas/OrganizationMemberCreateDTO"}}}},"OrganizationMemberCreateDTO":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["email","role"]}}}}
```

## The IdentityProviderDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"IdentityProviderDTO":{"type":"object","properties":{"type":{"type":"string","enum":["MICROSOFT"]},"alias":{"type":"string"},"name":{"type":"string"},"clientId":{"type":"string"},"clientSecret":{"type":"string"},"redirectUri":{"type":"string"},"displayOrder":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"defaultScope":{"type":"string","description":"OAuth2 scopes to request. Defaults to 'openid email profile'."},"tenantId":{"type":"string","description":"Azure AD tenant ID. Required for MICROSOFT type."},"prompt":{"type":"string","description":"Login prompt behavior"},"authorizationUrl":{"type":"string","description":"Authorization endpoint URL. Required for OIDC / KEYCLOAK_OIDC types."},"tokenUrl":{"type":"string","description":"Token endpoint URL. Required for OIDC / KEYCLOAK_OIDC types."},"jwksUrl":{"type":"string","description":"JWKS endpoint URL. Used when useJwksUrl is true."},"issuer":{"type":"string","description":"Token issuer. Required for OIDC / KEYCLOAK_OIDC types."},"userInfoUrl":{"type":"string","description":"UserInfo endpoint URL."},"logoutUrl":{"type":"string","description":"Logout endpoint URL."},"tokenIntrospectionUrl":{"type":"string","description":"Token introspection endpoint URL."},"metadataDescriptorUrl":{"type":"string","description":"OIDC Discovery URL (.well-known/openid-configuration)."},"validateSignature":{"type":"boolean","description":"Whether to validate the external IdP token signature. Default true."},"pkceEnabled":{"type":"boolean","description":"Enable PKCE (Proof Key for Code Exchange). Default false."},"useJwksUrl":{"type":"boolean","description":"Use JWKS URL for signature validation. Default true."},"clientAuthMethod":{"type":"string","description":"Client authentication method. E.g.: client_secret_post, client_secret_basic, private_key_jwt."},"singleSignOnServiceUrl":{"type":"string","description":"IdP SSO service URL. Required for SAML type."},"nameIdPolicyFormat":{"type":"string","description":"NameID policy format URI. Required for SAML type."},"entityId":{"type":"string","description":"Service provider entity ID. Required for SAML type."}},"required":["alias","clientId","clientSecret","displayOrder","domains","name","redirectUri","type"]}}}}
```

## The AuthenticationResponse object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"AuthenticationResponse":{"type":"object","properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int32"},"refresh_expires_in":{"type":"integer","format":"int32"},"refresh_token":{"type":"string"},"token_type":{"type":"string"}},"required":["access_token","expires_in","refresh_expires_in","refresh_token","token_type"]}}}}
```

## The CredentialsDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"CredentialsDTO":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"password":{"type":"string","maxLength":254,"minLength":5}},"required":["email","password"]}}}}
```

## The EmailSignUpRequestDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"EmailSignUpRequestDTO":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"}},"required":["email"]}}}}
```

## The PhoneSignUpRequestDTO object

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

## The RefreshToken object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"RefreshToken":{"type":"object","properties":{"refreshToken":{"type":"string"}}}}}}
```

## The TenantPatchDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"TenantPatchDTO":{"type":"object","properties":{"tierName":{"type":"string"},"tierDescription":{"type":"string"}}}}}}
```

## The OrganizationWithUsersDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"OrganizationWithUsersDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3},"primaryEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"iconColor":{"type":"string","description":"Cor do ícone em hexadecimal (aceita com ou sem '#', ex: #1A2B3C)","pattern":"^#?[0-9a-fA-F]{6}$"},"iconUrl":{"type":"string","description":"URL pública do logotipo da organização (armazenamento de recursos)"},"companySize":{"type":"string"},"industry":{"type":"string"},"useCase":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserDetailsDTO"}}},"required":["id","name","primaryEmail"]},"UserDetailsDTO":{"type":"object","properties":{"jobTitle":{"type":"string","description":"Describes the responsibilities of the job, the level of the job, or both."},"role":{"type":"string","enum":["owner","operator","participant"]},"userInfo":{"$ref":"#/components/schemas/UserBaseDTO"}}},"UserBaseDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"}},"required":["email","name"]}}}}
```

## The UserBaseDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserBaseDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"}},"required":["email","name"]}}}}
```

## The UserDetailsDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserDetailsDTO":{"type":"object","properties":{"jobTitle":{"type":"string","description":"Describes the responsibilities of the job, the level of the job, or both."},"role":{"type":"string","enum":["owner","operator","participant"]},"userInfo":{"$ref":"#/components/schemas/UserBaseDTO"}}},"UserBaseDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"}},"required":["email","name"]}}}}
```

## The PageMetadata object

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

## The UserClientDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserClientDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"clientName":{"type":"string"},"clientType":{"type":"string"},"user":{"$ref":"#/components/schemas/UserWithRoleDTO"},"role":{"$ref":"#/components/schemas/RoleDTO"}}},"UserWithRoleDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time"}},"required":["email","name"]},"RoleDTO":{"type":"object","properties":{"role":{"type":"string","enum":["owner","operator","participant"]},"message":{"type":"string","description":"Campo opcional caso o usuário queira enviar uma mensagem customizada para quem ele atribuiu uma role"},"name":{"type":"string"}},"required":["role"]}}}}
```

## The UserClientPageDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserClientPageDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserClientDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"UserClientDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64","readOnly":true},"clientName":{"type":"string"},"clientType":{"type":"string"},"user":{"$ref":"#/components/schemas/UserWithRoleDTO"},"role":{"$ref":"#/components/schemas/RoleDTO"}}},"UserWithRoleDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time"}},"required":["email","name"]},"RoleDTO":{"type":"object","properties":{"role":{"type":"string","enum":["owner","operator","participant"]},"message":{"type":"string","description":"Campo opcional caso o usuário queira enviar uma mensagem customizada para quem ele atribuiu uma role"},"name":{"type":"string"}},"required":["role"]},"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}}}}}
```

## The UserWithRoleDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserWithRoleDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"lastAccess":{"type":"string","format":"date-time"}},"required":["email","name"]}}}}
```

## The SubscriptionPage object

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

## The UserCustomerDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"UserCustomerDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?![\\d\\W]+$)[a-zà-üA-ZÀ-Ü0-9]+(\\s[a-zà-üA-ZÀ-Ü0-9]+)*$"},"email":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"jobTitle":{"type":"string","description":"Describes the responsibilities of the job, the level of the job, or both."},"role":{"type":"string","enum":["owner","operator","participant"]},"customer":{"$ref":"#/components/schemas/OrganizationDTO"}},"required":["email","name"]},"OrganizationDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3},"primaryEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"iconColor":{"type":"string","description":"Cor do ícone em hexadecimal (aceita com ou sem '#', ex: #1A2B3C)","pattern":"^#?[0-9a-fA-F]{6}$"},"iconUrl":{"type":"string","description":"URL pública do logotipo da organização (armazenamento de recursos)"},"companySize":{"type":"string"},"industry":{"type":"string"},"useCase":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["id","name","primaryEmail"]}}}}
```

## The PersonalAccessTokenDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"PersonalAccessTokenDTO":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"revoked":{"type":"boolean"},"expiresAt":{"type":"string","format":"date-time"}},"required":["expiresAt","id","name","revoked"]}}}}
```

## The TenantPage object

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

## The SpecializedModuleDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"SpecializedModuleDTO":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"integer","format":"int64","readOnly":true},"description":{"type":"string"},"icon":{"type":"string"},"uri":{"type":"string","format":"uri"},"clientId":{"type":"string","readOnly":true},"role":{"type":"string","enum":["Owner","Operator","Participant"],"readOnly":true}},"required":["name"]}}}}
```

## The OrganizationPage object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"OrganizationPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationDTO"}},"metadata":{"$ref":"#/components/schemas/PageMetadata"}}},"OrganizationDTO":{"type":"object","properties":{"name":{"type":"string","maxLength":254,"minLength":3},"primaryEmail":{"type":"string","maxLength":254,"minLength":3,"pattern":"^(?!.*[.@]{2})(?!.*\\.{2})^(?!_+)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+(?<!\\.)$"},"id":{"type":"integer","format":"int64","readOnly":true},"iconColor":{"type":"string","description":"Cor do ícone em hexadecimal (aceita com ou sem '#', ex: #1A2B3C)","pattern":"^#?[0-9a-fA-F]{6}$"},"iconUrl":{"type":"string","description":"URL pública do logotipo da organização (armazenamento de recursos)"},"companySize":{"type":"string"},"industry":{"type":"string"},"useCase":{"type":"string"},"role":{"type":"string","enum":["owner","operator","participant"]}},"required":["id","name","primaryEmail"]},"PageMetadata":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalItems":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}}}}}}
```

## The ApplicationMenuItemDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ApplicationMenuItemDTO":{"type":"object","properties":{"label":{"type":"string","description":"Texto exibido no menu."},"path":{"type":"string","description":"Rota ou path relativo da aplicação (opcional para agrupadores)."},"url":{"type":"string","description":"Rota ou path relativo da aplicação (opcional para agrupadores)."},"displayOrder":{"type":"integer","format":"int32"},"id":{"type":"integer","format":"int64","readOnly":true},"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"icon":{"type":"string"},"external":{"type":"boolean"},"children":{"type":"array","description":"Submenus (mesma estrutura, aninhável).","items":{"$ref":"#/components/schemas/ApplicationMenuItemDTO"}}},"required":["displayOrder","label","path","url"]}}}}
```

## The ApplicationModuleCategoryDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ApplicationModuleCategoryDTO":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string","description":"Chave estável em minúsculas, palavras separadas por underscore (`snake_case`).","pattern":"^[a-z][a-z0-9]*(_[a-z0-9]+)*$"},"shortDescription":{"type":"string"},"visible":{"type":"boolean"},"id":{"type":"integer","format":"int64","readOnly":true},"longDescription":{"type":"string"},"displayOrder":{"type":"integer","format":"int32","description":"Ordem de exibição nas listagens (menor primeiro)."},"navigationLevel":{"type":"string","enum":["MODULES","MENUS","MIXED","CUSTOM"]}},"required":["key","name","shortDescription","visible"]}}}}
```

## The ApplicationModuleDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"ApplicationModuleDTO":{"type":"object","properties":{"name":{"type":"string"},"categoryId":{"type":"integer","format":"int64","description":"ID da categoria (`GET /categories` / `POST /categories`)."},"id":{"type":"integer","format":"int64","readOnly":true},"clientId":{"type":"string","description":"Identificador de cliente/aplicação associado ao módulo (opcional)."},"isPublic":{"type":"boolean"},"url":{"type":"string"},"key":{"type":"string","description":"Chave estável em minúsculas, palavras separadas por underscore (`snake_case`).","pattern":"^[a-z][a-z0-9]*(_[a-z0-9]+)*$"},"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"category":{"$ref":"#/components/schemas/ApplicationModuleCategoryDTO","description":"Dados da categoria quando expandido na resposta.","readOnly":true},"tags":{"type":"array","items":{"type":"string"}},"menus":{"type":"array","description":"Menus de primeiro nível; para alterar só a árvore use `PUT /modules/{module-id}/menus`. ","items":{"$ref":"#/components/schemas/ApplicationMenuItemDTO"}},"displayOrder":{"type":"integer","format":"int32","description":"Ordem de exibição nas listagens (menor primeiro)."}},"required":["categoryId","name"]},"ApplicationModuleCategoryDTO":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string","description":"Chave estável em minúsculas, palavras separadas por underscore (`snake_case`).","pattern":"^[a-z][a-z0-9]*(_[a-z0-9]+)*$"},"shortDescription":{"type":"string"},"visible":{"type":"boolean"},"id":{"type":"integer","format":"int64","readOnly":true},"longDescription":{"type":"string"},"displayOrder":{"type":"integer","format":"int32","description":"Ordem de exibição nas listagens (menor primeiro)."},"navigationLevel":{"type":"string","enum":["MODULES","MENUS","MIXED","CUSTOM"]}},"required":["key","name","shortDescription","visible"]},"ApplicationMenuItemDTO":{"type":"object","properties":{"label":{"type":"string","description":"Texto exibido no menu."},"path":{"type":"string","description":"Rota ou path relativo da aplicação (opcional para agrupadores)."},"url":{"type":"string","description":"Rota ou path relativo da aplicação (opcional para agrupadores)."},"displayOrder":{"type":"integer","format":"int32"},"id":{"type":"integer","format":"int64","readOnly":true},"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"icon":{"type":"string"},"external":{"type":"boolean"},"children":{"type":"array","description":"Submenus (mesma estrutura, aninhável).","items":{"$ref":"#/components/schemas/ApplicationMenuItemDTO"}}},"required":["displayOrder","label","path","url"]}}}}
```

## The OrganizationEnabledModuleDTO object

```json
{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"components":{"schemas":{"OrganizationEnabledModuleDTO":{"type":"object","properties":{"module":{"$ref":"#/components/schemas/ApplicationModuleDTO"},"enabled":{"type":"boolean","description":"Indica se o módulo está habilitado para a organização."},"displayOrder":{"type":"integer","format":"int32","description":"Ordem de exibição do módulo para a organização (menor primeiro)."},"moduleId":{"type":"integer","format":"int64","description":"ID do módulo (conveniente para o cliente)."}},"required":["displayOrder","enabled","module"]},"ApplicationModuleDTO":{"type":"object","properties":{"name":{"type":"string"},"categoryId":{"type":"integer","format":"int64","description":"ID da categoria (`GET /categories` / `POST /categories`)."},"id":{"type":"integer","format":"int64","readOnly":true},"clientId":{"type":"string","description":"Identificador de cliente/aplicação associado ao módulo (opcional)."},"isPublic":{"type":"boolean"},"url":{"type":"string"},"key":{"type":"string","description":"Chave estável em minúsculas, palavras separadas por underscore (`snake_case`).","pattern":"^[a-z][a-z0-9]*(_[a-z0-9]+)*$"},"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"category":{"$ref":"#/components/schemas/ApplicationModuleCategoryDTO","description":"Dados da categoria quando expandido na resposta.","readOnly":true},"tags":{"type":"array","items":{"type":"string"}},"menus":{"type":"array","description":"Menus de primeiro nível; para alterar só a árvore use `PUT /modules/{module-id}/menus`. ","items":{"$ref":"#/components/schemas/ApplicationMenuItemDTO"}},"displayOrder":{"type":"integer","format":"int32","description":"Ordem de exibição nas listagens (menor primeiro)."}},"required":["categoryId","name"]},"ApplicationModuleCategoryDTO":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string","description":"Chave estável em minúsculas, palavras separadas por underscore (`snake_case`).","pattern":"^[a-z][a-z0-9]*(_[a-z0-9]+)*$"},"shortDescription":{"type":"string"},"visible":{"type":"boolean"},"id":{"type":"integer","format":"int64","readOnly":true},"longDescription":{"type":"string"},"displayOrder":{"type":"integer","format":"int32","description":"Ordem de exibição nas listagens (menor primeiro)."},"navigationLevel":{"type":"string","enum":["MODULES","MENUS","MIXED","CUSTOM"]}},"required":["key","name","shortDescription","visible"]},"ApplicationMenuItemDTO":{"type":"object","properties":{"label":{"type":"string","description":"Texto exibido no menu."},"path":{"type":"string","description":"Rota ou path relativo da aplicação (opcional para agrupadores)."},"url":{"type":"string","description":"Rota ou path relativo da aplicação (opcional para agrupadores)."},"displayOrder":{"type":"integer","format":"int32"},"id":{"type":"integer","format":"int64","readOnly":true},"shortDescription":{"type":"string"},"longDescription":{"type":"string"},"icon":{"type":"string"},"external":{"type":"boolean"},"children":{"type":"array","description":"Submenus (mesma estrutura, aninhável).","items":{"$ref":"#/components/schemas/ApplicationMenuItemDTO"}}},"required":["displayOrder","label","path","url"]}}}}
```
