Identities API v2 (Beta)¶
AuditLog¶
Retrieve audit log events.
GetEvent¶
Fetches an event.
Output: Event¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | output only | The tenant for which the event occurred. |
id¶ | string | output only | The internal ID of the event. |
method¶ | string | output only | The invoked method. |
status_code¶ | google.rpc.Code | output only | Status code of the request. |
resource¶ | Event.Resource | output only | The resource that was changed. |
caller¶ | Event.Caller | output only | The caller who invoked the method. |
payload¶ | google.protobuf.Struct | output only | Payload of the request that triggered the event. |
metadata¶ | google.protobuf.Struct | output only | Additional data associated with the event. |
occurred_time¶ | google.protobuf.Timestamp | output only | Time time when the event occurred. |
ListEvents¶
List events.
Input: EventListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing details list belongs to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
filter¶ | EventListRequest.Filter | Filters to limit the response. |
Output: EventList¶
Field | Type | Rules | Description |
---|---|---|---|
events¶ | Event | repeated | The requested events. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Event.Caller¶
Field | Type | Rules | Description |
---|---|---|---|
id¶ | string | output only | The id of the caller. |
email¶ | string | output only | Email of the caller. |
Event.Resource¶
(-- api-linter: core::0123::resource-annotation=disabled aip.dev/not-precedent: This linter rule is miss leading here. --)
Field | Type | Rules | Description |
---|---|---|---|
name¶ | string | output only | The name of the resource. |
id¶ | string | output only | The id of the resource. |
EventListRequest.Filter¶
Field | Type | Rules | Description |
---|---|---|---|
method_scalar¶ | enpowerx.types.StringScalarFilter | Filter for one value. | |
method_list¶ | enpowerx.types.StringListFilter | Filter for multiple values. | |
status_codes¶ | google.rpc.Code | repeated | Filter by status codes |
resource_name_scalar¶ | enpowerx.types.StringScalarFilter | Filter for one value. | |
resource_name_list¶ | enpowerx.types.StringListFilter | Filter for multiple values. | |
resource_ids¶ | string | repeated | Filter by resource id |
caller_email_scalar¶ | enpowerx.types.StringScalarFilter | Filter for one value. | |
caller_email_list¶ | enpowerx.types.StringListFilter | Filter for multiple values. | |
caller_ids¶ | string | repeated | Filter by caller id |
period¶ | enpowerx.types.DateTimeRange | optional | The period to filter events for. |
Clients¶
Query client identities within the enpowerx platform.
Get¶
Get a client.
Output: Client¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | The client's tenant. | |
id¶ | string | The client's id. | |
grant_types¶ | string | repeated | The client's enabled grant types (OAuth flows). |
CustomerProofs¶
Prove ownership of customers that don't yet have an account.
Provide¶
Provide proof of ownership of a customer and get the customer ID in return.
Input: CustomerProof¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*proof¶ | CustomerProof.Proof | The knowledge proving ownership of the contract. |
Output: CustomerProofResponse¶
Field | Type | Rules | Description |
---|---|---|---|
customer¶ | string | The customer ID. |
CustomerProof.Proof¶
Field | Type | Rules | Description |
---|---|---|---|
customer¶ | string | The customer ID. | |
contract¶ | string | The contract ID. | |
*meter¶ | string | A meter number associated with the contract. |
Customers¶
Manage B2C customers.
Get¶
Get a specific customer.
Input: CustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The ID of the customer. |
Output: Customer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the customer belongs to. |
*id¶ | string | immutable | The customer's ID in the tenant's scope. |
*type¶ | CustomerType | The type of this customer. | |
*person¶ | enpowerx.types.Person | The personal details. | |
*address¶ | enpowerx.types.PostalAddress | The customer's address. Changes to this address will neither affect a customer's contracts' energy delivery addresses nor billing addresses. If you want to change all billing addresses as well, make sure to also use enpowerx.contracting.v2.ContractBilling/SetAllContacts. | |
phone_number¶ | string | The phone number of the customer. Values are normalized into the form +123456789 . | |
mobile_phone_number¶ | string | The mobile phone number of the customer. Values are normalized into the form +123456789 . | |
email¶ | string | The customer's email address. | |
is_vacant¶ | bool | output only | A flag indicating a vacancy, i.e. the metering point belongs to a flat that is vacant. |
List¶
List customers with optional filters.
Input: CustomerListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customers belong to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
filter¶ | CustomerListRequest.Filter | Filters to limit the response. |
Output: CustomerList¶
Field | Type | Rules | Description |
---|---|---|---|
customers¶ | Customer | repeated | The requested customers. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
GetMe¶
Get the current customer (identity from OAuth token).
Input: CustomerGetMeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. |
Output: Customer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the customer belongs to. |
*id¶ | string | immutable | The customer's ID in the tenant's scope. |
*type¶ | CustomerType | The type of this customer. | |
*person¶ | enpowerx.types.Person | The personal details. | |
*address¶ | enpowerx.types.PostalAddress | The customer's address. Changes to this address will neither affect a customer's contracts' energy delivery addresses nor billing addresses. If you want to change all billing addresses as well, make sure to also use enpowerx.contracting.v2.ContractBilling/SetAllContacts. | |
phone_number¶ | string | The phone number of the customer. Values are normalized into the form +123456789 . | |
mobile_phone_number¶ | string | The mobile phone number of the customer. Values are normalized into the form +123456789 . | |
email¶ | string | The customer's email address. | |
is_vacant¶ | bool | output only | A flag indicating a vacancy, i.e. the metering point belongs to a flat that is vacant. |
GetPerson¶
Get personal details for a specific customer.
Input: CustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The ID of the customer. |
SetPerson¶
Update personal details for a specific customer.
Also update billing.contact.person
for all of the customer's contracts unless they were already different before calling this.
Input: CustomerSetPersonRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The customer's ID in the tenant's scope. | |
*person¶ | enpowerx.types.Person | The personal details to set. |
GetMyPerson¶
Get personal details for the current customer (identity from OAuth token).
Input: CustomerGetMeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. |
SetMyPerson¶
Update personal details for the current customer (identity from OAuth token).
Also update billing.contact.person
for all of the customer's contracts unless they were already different before calling this.
Input: CustomerSetMyPersonRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*person¶ | enpowerx.types.Person | The personal details to set. |
GetAddress¶
Get address details for a specific customer.
Input: CustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The ID of the customer. |
SetAddress¶
Update address details for a specific customer.
If you want to also update billing.contact.address
for all of the customer's contracts call enpowerx.contracting.v2.ContractBilling/SetAllContacts.
Input: CustomerSetAddressRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The customer's ID in the tenant's scope. | |
*address¶ | enpowerx.types.PostalAddress | The address to set. |
GetMyAddress¶
Get address details for the current customer (identity from OAuth token).
Input: CustomerGetMeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. |
SetMyAddress¶
Update address details for the current customer (identity from OAuth token).
If you want to also update billing.contact.address
for all of the customer's contracts call enpowerx.contracting.v2.ContractBilling/SetAllMyContacts.
Input: CustomerSetMyAddressRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*address¶ | enpowerx.types.PostalAddress | The address to set. |
SetPhoneNumber¶
Update the phone number for a specific customer.
Input: CustomerSetPhoneNumberRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The customer's ID in the tenant's scope. | |
*phone_number¶ | string | The phone number to set. Values are normalized into the form +123456789 . |
SetMyPhoneNumber¶
Update the phone number for the current customer (identity from OAuth token).
Input: CustomerSetMyPhoneNumberRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*phone_number¶ | string | The phone number to set. Values are normalized into the form +123456789 . |
SetMobilePhoneNumber¶
Update the mobile phone number for a specific customer.
Input: CustomerSetPhoneNumberRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The customer's ID in the tenant's scope. | |
*phone_number¶ | string | The phone number to set. Values are normalized into the form +123456789 . |
SetMyMobilePhoneNumber¶
Update the mobile phone number for the current customer (identity from OAuth token).
Input: CustomerSetMyPhoneNumberRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*phone_number¶ | string | The phone number to set. Values are normalized into the form +123456789 . |
SetEmail¶
Update the email address for a specific customer.
Input: CustomerSetEmailRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The customer's ID in the tenant's scope. | |
*email¶ | string | The email to set. |
SetMyEmail¶
Update the email address for the current customer (identity from OAuth token).
Input: CustomerSetMyEmailRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*email¶ | string | The email to set. |
Impersonate¶
Impersonate a customer. The impersonating identity is taken from the OAuth token.
Input: CustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The ID of the customer. |
CustomerListRequest.Filter¶
Field | Type | Rules | Description |
---|---|---|---|
field_mask¶ | google.protobuf.FieldMask | The field mask used to mark fields which shall be respected for the filter. | |
type¶ | CustomerType | The customer type to filter for. | |
person¶ | CustomerListRequest.Filter.Person | The person information to filter for. | |
address¶ | CustomerListRequest.Filter.PostalAddress | The customer address to filter for. | |
id¶ | string | The customer ID to filter for. |
CustomerListRequest.Filter.Person¶
Field | Type | Rules | Description |
---|---|---|---|
firstname¶ | string | The first name of the person. | |
lastname¶ | string | The last name of the person. | |
birthday¶ | google.type.Date | The birthday of the person. | |
company¶ | string | The company of the person. |
CustomerListRequest.Filter.PostalAddress¶
Field | Type | Rules | Description |
---|---|---|---|
postal_code¶ | string | A postal code of the city (a city may have more than one). Example: 76131 for Karlsruhe inner city | |
city¶ | string | The canonical name of the city (there may be more than one per postal code). Example: Karlsruhe | |
street¶ | string | The canonical name of the street. Example: Kaiserstr. | |
house_number¶ | string | The house number. Examples: 32 , 32a , 32/1 |
CustomerType¶
Represents the kind of the customer.
Name | Number | Description |
---|---|---|
CUSTOMER_TYPE_UNSPECIFIED | 0 | The customer type is unspecified. |
PRIVATE | 1 | The customer type is private. |
BUSINESS | 2 | The customer type is business. |
BOTH | 3 | The customer type is private and business. |
Rights¶
Retrieve rights and roles of subjects and clients.
GetMyTenantRights¶
Get the rights of the current subject (identity from OAuth token).
Input: RightGetMyTenantRightsRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant. This is technically required. Use _all . |
Output: TenantRights¶
Field | Type | Rules | Description |
---|---|---|---|
tenant_rights¶ | TenantRights.TenantRightsEntry | repeated | The individual rights granted in the scope of a specific tenant. |
ListMyAvailableTenants¶
List the available tenants of the the current user (identity from OAuth token).
Input: RightListMyAvailableTenantsRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant. This is technically required. Use _all . |
Output: TenantList¶
Field | Type | Rules | Description |
---|---|---|---|
tenants¶ | TenantList.Tenant | repeated | The available tenants. |
GetAppAttributes¶
Get the role-scoped application attributes (application identity from OAuth token).
These are application-specific custom attributes to be used by the application like group names or persona.
Input: RightGetAppAttributesRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the app attributes are requested for. | |
roles¶ | string | repeated | The roles to get app attributes for. |
Output: RoleAppAttributes¶
Field | Type | Rules | Description |
---|---|---|---|
role_attributes¶ | RoleAppAttributes.RoleAttributesEntry | repeated | The role attribute map. |
GetMyAppAttributes¶
Get the role-scoped application attributes (application identity from OAuth token) of the current subject (identity from OAuth token).
These are application-specific custom attributes to be used by the application like group names or persona.
Input: RightTenantRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the resource belongs to. |
Output: RoleAppAttributes¶
Field | Type | Rules | Description |
---|---|---|---|
role_attributes¶ | RoleAppAttributes.RoleAttributesEntry | repeated | The role attribute map. |
Authorize¶
Query if a request is allowed.
Input: RightAuthorizeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | The tenant the request belongs to. | |
*request_method¶ | string | The request method to be called. | |
request_context¶ | google.protobuf.Struct | The request context. |
Output: AuthorizationDecision¶
Field | Type | Rules | Description |
---|---|---|---|
allowed¶ | bool | Indicates whether the request is allowed or not. |
ListCapabilities¶
List the available capabilities of a tenant.
Output: CapabilityList¶
Field | Type | Rules | Description |
---|---|---|---|
capabilities¶ | Capability | repeated | The capabilities. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Capability¶
Field | Type | Rules | Description |
---|---|---|---|
id¶ | string | The capability id. | |
rights¶ | Right | repeated | The capability's exposed rights. |
Right¶
Field | Type | Rules | Description |
---|---|---|---|
id¶ | string | The right's id. | |
domain¶ | string | The right's domain. | |
service¶ | string | The right's service. | |
methods¶ | string | repeated | The right's methods. |
RoleAppAttributes.RoleAttributesEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | google.protobuf.Struct |
TenantList.Tenant¶
Field | Type | Rules | Description |
---|---|---|---|
id¶ | string | The tenant's ID. | |
display_name¶ | string | The tenant's display name. |
TenantRights.RightList¶
Field | Type | Rules | Description |
---|---|---|---|
rights¶ | string | repeated | The rights. |
TenantRights.TenantRightsEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | TenantRights.RightList |
Roles¶
Manage roles of subjects.
Get¶
Get a role of a tenant.
Output: Role¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The role's tenant. | |
*id¶ | string | The role's id. | |
rights¶ | string | repeated | The role's rights. |
app_attributes¶ | Role.AppAttributesEntry | repeated | The role's app attributes. The map key identifies the app. |
GetTenantRoles¶
Get the effective list of roles of a subject (identity from OAuth token).
Input: GetTenantRolesRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant. This is technically required. Use _all . | |
*identity_provider¶ | string | The subject's identity provider ID (e.g. a downstream AAD, Keycloak, Auth0). | |
roles¶ | string | repeated | The subject's roles. |
Output: TenantRoles¶
Field | Type | Rules | Description |
---|---|---|---|
tenant_roles¶ | TenantRoles.TenantRolesEntry | repeated | The individual roles in the scope of a specific tenant. |
List¶
List the roles of a tenant.
Output: RolesList¶
Field | Type | Rules | Description |
---|---|---|---|
roles¶ | Role | repeated | The roles. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Create¶
Create a role.
Input: CreateRoleRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The role's tenant. | |
*id¶ | string | The role's id. | |
predefined_roles¶ | string | repeated | The role's predefined roles. |
rights¶ | string | repeated | The role's custom rights. |
app_attributes¶ | CreateRoleRequest.AppAttributesEntry | repeated | The role's app attributes. The map key identifies the app. |
Output: Role¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The role's tenant. | |
*id¶ | string | The role's id. | |
rights¶ | string | repeated | The role's rights. |
app_attributes¶ | Role.AppAttributesEntry | repeated | The role's app attributes. The map key identifies the app. |
Delete¶
Delete a role.
Input: Role¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The role's tenant. | |
*id¶ | string | The role's id. | |
rights¶ | string | repeated | The role's rights. |
app_attributes¶ | Role.AppAttributesEntry | repeated | The role's app attributes. The map key identifies the app. |
Update¶
Update the role's rights and app attributes.
Input: Role¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The role's tenant. | |
*id¶ | string | The role's id. | |
rights¶ | string | repeated | The role's rights. |
app_attributes¶ | Role.AppAttributesEntry | repeated | The role's app attributes. The map key identifies the app. |
CreateRoleRequest.AppAttributesEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | google.protobuf.Struct |
Role.AppAttributesEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | google.protobuf.Struct |
TenantRoles.RoleList¶
Field | Type | Rules | Description |
---|---|---|---|
roles¶ | string | repeated | The roles. |
TenantRoles.TenantRolesEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | TenantRoles.RoleList |
Users¶
Manage users with login credentials. Further information about integration of third-party identity providers are documented here.
GetByCustomer¶
Get a user by a corresponding customer.
Input: UserCustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*customer¶ | string | The user's customer ID. |
Output: User¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | The user's tenant. | |
id¶ | string | The identity provider's ID of the user | |
customer¶ | string | The customer's ID of the user in the tenant's scope. | |
email¶ | string | The email address of the user. | |
create_time¶ | google.protobuf.Timestamp | The timestamp of creation. | |
update_time¶ | google.protobuf.Timestamp | The timestamp of last update. | |
logins_count¶ | int64 | The count of logins. | |
login_time¶ | google.protobuf.Timestamp | The timestamp of the last login. | |
email_verified¶ | bool | A flag indicating if the user email is verified. | |
blocked¶ | bool | A flag indicating if the user is blocked. |
Get¶
Get a user.
Output: User¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | The user's tenant. | |
id¶ | string | The identity provider's ID of the user | |
customer¶ | string | The customer's ID of the user in the tenant's scope. | |
email¶ | string | The email address of the user. | |
create_time¶ | google.protobuf.Timestamp | The timestamp of creation. | |
update_time¶ | google.protobuf.Timestamp | The timestamp of last update. | |
logins_count¶ | int64 | The count of logins. | |
login_time¶ | google.protobuf.Timestamp | The timestamp of the last login. | |
email_verified¶ | bool | A flag indicating if the user email is verified. | |
blocked¶ | bool | A flag indicating if the user is blocked. |
GetMine¶
Get the current customer's user (identity from OAuth token).
Input: UserMineRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. |
Output: User¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | The user's tenant. | |
id¶ | string | The identity provider's ID of the user | |
customer¶ | string | The customer's ID of the user in the tenant's scope. | |
email¶ | string | The email address of the user. | |
create_time¶ | google.protobuf.Timestamp | The timestamp of creation. | |
update_time¶ | google.protobuf.Timestamp | The timestamp of last update. | |
logins_count¶ | int64 | The count of logins. | |
login_time¶ | google.protobuf.Timestamp | The timestamp of the last login. | |
email_verified¶ | bool | A flag indicating if the user email is verified. | |
blocked¶ | bool | A flag indicating if the user is blocked. |
Block¶
Block a user.
Input: UserCustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*customer¶ | string | The user's customer ID. |
Unblock¶
Unblock a user.
Input: UserCustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*customer¶ | string | The user's customer ID. |
Delete¶
Delete a user.
Input: UserCustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*customer¶ | string | The user's customer ID. |
DeleteMine¶
Delete the current customer's user (identity from OAuth token).
Input: UserMineRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. |
MarkEmailVerified¶
Mark the user's email as verified.
Input: UserCustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*customer¶ | string | The user's customer ID. |
SendPasswordResetEmail¶
Send a password reset email for a user.
Input: UserSendEmailRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*email¶ | string | The email of the user for whom the password should be reset. | |
*client¶ | UserSendEmailRequest.Client | The client triggering the email. |
SendVerificationEmail¶
Send an email address verification email.
Input: UserSendEmailRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*email¶ | string | The email of the user for whom the password should be reset. | |
*client¶ | UserSendEmailRequest.Client | The client triggering the email. |
SendMyPasswordResetEmail¶
Send a password reset email for the current customer's user (identity from OAuth token).
Input: UserMineRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. |
SendCustomerPasswordResetEmail¶
Send a password reset email for a customer's user.
Input: UserSendCustomerPasswordResetEmailRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*customer¶ | string | The customer's ID of the user for whom the password should be reset. |
Link¶
Link a user with a customer.
Input: UserLinkRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The user's tenant. | |
*email¶ | string | The user's email address. | |
*proof¶ | CustomerProof.Proof | The knowledge proving ownership of a customer ID or contract. |
Vacuum¶
Trigger a cleanup of unlinked users.
Input: UserVacuumRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant for which unlinked users should be cleaned up. Use '_all' to select all configured tenants. |
UserSendEmailRequest.Client¶
Field | Type | Rules | Description |
---|---|---|---|
*id¶ | string | The client ID of the application initiating the reset. | |
*redirect_uri¶ | string | The redirect URI where to redirect the user after the password reset. |
Shared Types¶
Amount¶
Field | Type | Rules | Description |
---|---|---|---|
unit¶ | string | The unit of the amount. E.g.'kWh' or 'PCS' for pieces. | |
units¶ | int64 | The whole units of the amount. For example if unit is "PCS" , then 1 unit is one piece. | |
nanos¶ | int32 | Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |
BankAccount¶
Information about a bank account.
Field | Type | Rules | Description |
---|---|---|---|
*iban¶ | string | The International Bank Account Number. | |
bic¶ | string | The Bank Identifier Code. | |
account_holder¶ | string | The name of the account holder. | |
bank¶ | string | The name of the bank. |
CustomerType¶
Represents the kind of the customer.
Name | Number | Description |
---|---|---|
CUSTOMER_TYPE_UNSPECIFIED | 0 | The customer type is unspecified. |
PRIVATE | 1 | The customer type is private. |
BUSINESS | 2 | The customer type is business. |
BOTH | 3 | The customer type is private and business. |
DateRange¶
Represents a range of dates.
Field | Type | Rules | Description |
---|---|---|---|
*start¶ | google.type.Date | The inclusive start date. | |
end¶ | google.type.Date | The inclusive end date. | |
end_exclusive¶ | google.type.Date | The exclusive end date. | |
time_zone¶ | string | The time zone of the date range (defaults to Europe/Berlin). |
DateTimeRange¶
Represents a range of date times.
Field | Type | Rules | Description |
---|---|---|---|
*start¶ | google.protobuf.Timestamp | The inclusive start date. | |
end¶ | google.protobuf.Timestamp | The inclusive end date. |
Decimal¶
Field | Type | Rules | Description |
---|---|---|---|
units¶ | int64 | The whole units of the amount. | |
nanos¶ | int32 | Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |
Billing¶
Billing details.
Field | Type | Rules | Description |
---|---|---|---|
*contact¶ | Contact | The contact to send invoices to. | |
*payment_method¶ | PaymentMethod | The payment method method. | |
bank_account¶ | BankAccount | The bank account used if payment_method is DIRECT_DEBIT . |
CommunicationChannel¶
Communication channel.
Name | Number | Description |
---|---|---|
COMMUNICATION_CHANNEL_UNSPECIFIED | 0 | Channel not specified. |
LETTER | 1 | Send messages via letter. |
2 | Send messages via email. | |
SMS | 3 | Send messages via SMS. |
MESSENGER | 4 | Send messages via messenger apps like WhatsApp. |
PHONE | 5 | Communicate via telephone. |
Contact¶
Contact details (postal, phone, etc.).
Field | Type | Rules | Description |
---|---|---|---|
*person¶ | Person | Information on how to address the contact. | |
postal_address¶ | PostalAddress | The contact's postal address. | |
phone_number¶ | string | The phone number of the contact. Values are normalized into the form +123456789 . | |
email¶ | string | The email address of the contact. | |
careof¶ | Person | A person that may receive communication in the name of the actual recipient (e.g. a "C/O" line added to the postal address). |
Reading¶
Information about a reading.
Field | Type | Rules | Description |
---|---|---|---|
*date¶ | google.type.Date | The date when the reading was taken. | |
channel¶ | Reading.Channel | How the reading was reported. This is value is ignored when submitting via AddMine . | |
*values¶ | Reading.ValuesEntry | repeated | A map of values to submit with OBIS codes as the key. |
ignore_plausibility_check_reason¶ | google.protobuf.StringValue | If set the meter reading(s) will be saved, even if they're not plausible. Specifies the reason why the plausibility check is to be ignored. |
Reading.ValuesEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | double |
Reading.Channel¶
Name | Number | Description |
---|---|---|
CHANNEL_UNSPECIFIED | 0 | No channel specified. |
PORTAL | 1 | Reported via end-user portal. |
2 | Reported via email. | |
LETTER | 3 | Reported via letter. |
PHONE | 4 | Reported via phone call. |
MSCONS | 5 | Reported via Metered Services Consumption report message. |
Relocation¶
Information about the relocation of an contract.
Field | Type | Rules | Description |
---|---|---|---|
*contract¶ | string | The contract's ID this request is targeting. | |
*moveout_date¶ | google.type.Date | The move-out date. | |
*movein_date¶ | google.type.Date | The move-in date. | |
*delivery¶ | EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*use_new_address¶ | Relocation.UseNewAddress | Use the new address as postal and billing address. | |
*meter¶ | string | The ID of the meter at the new consumption point. | |
last_reading¶ | Reading | The last reading at the old consumption point. | |
old_meter¶ | string | The ID of the meter at the old consumption point. Optional, must be set if a last reading is provided. |
Relocation.UseNewAddress¶
Name | Number | Description |
---|---|---|
USE_NEW_ADDRESS_UNSPECIFIED | 0 | Use unspecified. |
NO | 1 | Use not desired. |
IMMEDIATELY | 2 | Use immediately desired. |
ON_MOVE_IN | 3 | Use on moving in desired. |
SalesInfo¶
Information on how a sale was made.
Field | Type | Rules | Description |
---|---|---|---|
sales_partner_code¶ | string | Direct sales partner code. | |
sales_partner_code_second¶ | string | Second direct sales partner code. | |
campaign¶ | string | Optional override for the default campaign. |
ScheduledRequest¶
Reference to an entity with an optional scheduled starting date.
Field | Type | Rules | Description |
---|---|---|---|
*id¶ | string | The ID referencing the entity. | |
scheduled_date¶ | google.type.Date | The scheduled starting date (earliest possible if unset). |
TransitionType¶
Specifies modalities of a contract transition.
Name | Number | Description |
---|---|---|
TRANSITION_TYPE_UNSPECIFIED | 0 | The transition type is unspecified |
MANUAL_TERMINATION | 1 | The customer terminates the prior contract. |
VENDOR_TERMINATION | 2 | The vendor terminates the prior contract. |
RELOCATION | 3 | The customer is going to or has recently moved to the new address. |
Duration¶
Represents a coarse time duration (e.g., 2 months).
Field | Type | Rules | Description |
---|---|---|---|
*units¶ | int32 | The number of time units. | |
*type¶ | google.type.CalendarPeriod | The type the units refer to (days, months, etc.). |
EnergyDelivery¶
Describes which kind and amount of energy is to be delivered to where.
Field | Type | Rules | Description |
---|---|---|---|
*energy_type¶ | EnergyType | The kind of the energy. | |
*customer_type¶ | CustomerType | The kind of the customer. | |
*address¶ | PostalAddress | The address to deliver energy to. | |
annual_usage¶ | int32 | The estimated power usage in kWh per year. | |
usage_type¶ | EnergyDelivery.UsageType | The usage type for the delivered energy. | |
annual_usage_nt¶ | int32 | The estimated off-peak power usage in kWh per year (DE: Niedertarifverbrauch). |
EnergyDelivery.UsageType¶
Name | Number | Description |
---|---|---|
USAGE_TYPE_UNSPECIFIED | 0 | The consumption type is unspecified. |
HOUSEHOLD_ELECTRICITY | 1 | The energy is used for household. |
CHARGING_CURRENT | 2 | The energy is used for charging. |
STORAGE_HEATER | 3 | The energy is used for a storage heater. |
HEAT_PUMP | 4 | The energy is used for a heat pump. |
HOUSEHOLD_ELECTRICITY_AND_STORAGE_HEATER | 5 | The energy is used for household with storage heater. |
HOUSEHOLD_ELECTRICITY_AND_HEAT_PUMP | 6 | The energy is used for household with heat pump. |
EnergyType¶
Represents the kind of the energy.
Name | Number | Description |
---|---|---|
ENERGY_TYPE_UNSPECIFIED | 0 | The energy type is unspecified. |
ELECTRICITY | 1 | The energy type is electricity. |
GAS | 2 | The energy type is gas. |
FileContent¶
Field | Type | Rules | Description |
---|---|---|---|
*mime_type¶ | string | The media type / content type of the document. | |
*content¶ | bytes | The raw data of the document. |
AnnotationFilter¶
AnnotationFilter provides filter semantics for annotations.
Field | Type | Rules | Description |
---|---|---|---|
*field¶ | string | The annotation field path is a symbolic field path to target an annotation's field, for example: "invoice.id", "is_consumption_based", ... | |
value¶ | google.protobuf.Value | The value to match the annotation field's value. |
DateFilter¶
DateFilter provides match semantics for date fields.
Field | Type | Rules | Description |
---|---|---|---|
*date¶ | google.type.Date | The date to filter for. | |
match_mode¶ | DateFilter.MatchMode | The match mode to use. The default is EQUAL. |
DateRangeFilter¶
DateTimeRangeFilter provides match semantics for date fields. The filter treats the start and end date as inclusive.
Field | Type | Rules | Description |
---|---|---|---|
*start_date¶ | google.type.Date | The start date to filter for. | |
*end_date¶ | google.type.Date | The end date to filter for. |
DateTimeFilter¶
DateTimeFilter provides match semantics for date time fields.
Field | Type | Rules | Description |
---|---|---|---|
*time¶ | google.protobuf.Timestamp | The date time to filter for. | |
match_mode¶ | DateTimeFilter.MatchMode | The match mode to use. The default is EQUAL. |
DateTimeRangeFilter¶
DateTimeRangeFilter provides match semantics for date time fields.
Field | Type | Rules | Description |
---|---|---|---|
*start_time¶ | google.protobuf.Timestamp | The start date time to filter for. | |
*end_time¶ | google.protobuf.Timestamp | The end date time to filter for. |
StringListFilter¶
Strings filter x IN and x NOT IN semantics.
Field | Type | Rules | Description |
---|---|---|---|
*values¶ | string | repeated | The value to filter for. |
negate¶ | bool | If true the expression is negated. |
StringScalarFilter¶
StringFilter provides match semantics for strings fields.
Field | Type | Rules | Description |
---|---|---|---|
*value¶ | string | The value to filter for. | |
match_mode¶ | StringScalarFilter.MatchMode | The match mode to use. | |
negate¶ | bool | If true the expression is negated. |
DateFilter.MatchMode¶
Name | Number | Description |
---|---|---|
MATCH_MODE_UNSPECIFIED | 0 | The match mode is unspecified. |
EQUAL | 1 | Filter only matches if the date is equal to the provided date. |
BEFORE | 2 | Filter matches all dates that are before the provided date. |
AFTER | 3 | Filter matches all dates that are after the provided date. |
BEFORE_OR_EQUAL | 4 | Filter matches all dates that are before or equal to the provided date. |
AFTER_OR_EQUAL | 5 | Filter matches all dates that are after or equal to the provided date. |
DateTimeFilter.MatchMode¶
Name | Number | Description |
---|---|---|
MATCH_MODE_UNSPECIFIED | 0 | The match mode is unspecified. |
EQUAL | 1 | Filter only matches if the date is equal to the provided date. |
BEFORE | 2 | Filter matches all dates that are before the provided date. |
AFTER | 3 | Filter matches all dates that are after the provided date. |
BEFORE_OR_EQUAL | 4 | Filter matches all dates that are before or equal to the provided date. |
AFTER_OR_EQUAL | 5 | Filter matches all dates that are after or equal to the provided date. |
StringScalarFilter.MatchMode¶
Name | Number | Description |
---|---|---|
MATCH_MODE_UNSPECIFIED | 0 | The match mode is unspecified. |
EXACT | 1 | Filter only matches if the field contains exactly the expected value. |
PREFIX | 2 | Filter matches all fields that are prefixed with the given value. |
SUFFIX | 3 | Filter matches all fields that are suffixed with the given value. |
SUBSTRING | 4 | Filter matches all fields that contain the given value. |
LetterAddress¶
Combines a name and a postal address.
Field | Type | Rules | Description |
---|---|---|---|
*person¶ | Person | The person being addressed. | |
careof¶ | string | A person that may receive letters in the name of the actual recipient (e.g. a "C/O" line added to the postal address). | |
*postal_address¶ | PostalAddress | The postal address. |
MonthOfYear¶
Represents a month of a year.
Field | Type | Rules | Description |
---|---|---|---|
month¶ | int32 | Month of the year. | |
year¶ | int32 | Year. |
PaymentMethod¶
Possible methods for paying invoices.
Name | Number | Description |
---|---|---|
PAYMENT_METHOD_UNSPECIFIED | 0 | The payment method method is unspecified. |
DIRECT_DEBIT | 1 | Money is automatically withdrawn from the specified bank account. |
MANUAL_TRANSFER | 2 | The customer pays bills manually using money transfers. |
Period¶
A period of time with inclusive start and inclusive and exclusive end time. If both (inclusive and exclusive) ends are specified, they must be consistent. If no end is specified, the period is considered unbounded on the end. If the time is unspecified it is considered to be 00:00:00.000000000 for the start (and exclusive end) and 23:59:59.999999999 for the inclusive end.
The following example represents a period of time from 2006-01-01 to 2006-01-31: { start_time: { hours: 0 minutes: 0 seconds: 0 nanos: 0 } start_date: { year: 2006 month: 1 day: 1 } end_time: { hours: 23 minutes: 59 seconds: 59 nanos: 999999999 } end_date: { year: 2006 month: 1 day: 31 } end_date_exclusive: { year: 2006 month: 2 day: 1 } end_time_exclusive: { hours: 0 minutes: 0 seconds: 0 nanos: 0 } }
Field | Type | Rules | Description |
---|---|---|---|
start_time¶ | google.type.TimeOfDay | The start time of the period (inclusive). | |
end_time¶ | google.type.TimeOfDay | The end time of the period (inclusive). | |
start_date¶ | google.type.Date | The start date of the period (inclusive). | |
end_date¶ | google.type.Date | The end date of the period (inclusive). | |
end_time_exclusive¶ | google.type.TimeOfDay | The end time of the period (exclusive). | |
end_date_exclusive¶ | google.type.Date | The end date of the period (exclusive). | |
time_zone¶ | string | The time zone of the period (defaults to Europe/Berlin). |
Person¶
Information on how to address a person. A person can be either a natural person or a company with an optional contact Natural Person: Must provide firstname, lastname Company: Must provide company
Field | Type | Rules | Description |
---|---|---|---|
salutation¶ | Person.SalutationForm | The salutation of the person. | |
title¶ | string | The title of the person. | |
firstname¶ | string | The first name of the person. | |
lastname¶ | string | The last name of the person. | |
birthday¶ | google.type.Date | The birthday of the person. | |
company¶ | string | The company name. |
Person.SalutationForm¶
Name | Number | Description |
---|---|---|
SALUTATION_FORM_UNSPECIFIED | 0 | The salutation form is unspecified. |
MRS | 1 | The salutation form is Mrs. . |
MR | 2 | The salutation form is Mr. . |
DIVERSE | 3 | The salutation form is Diverse . |
FAMILY | 4 | The salutation form is Family . |
PostalAddress¶
Represents a postal address, e.g. for postal delivery or payments addresses.
Field | Type | Rules | Description |
---|---|---|---|
*region¶ | string | The region the address is located in as a CLDR region code. Example: DE for Germany | |
*postal_code¶ | string | A postal code of the city (a city may have more than one). Example: 76131 for Karlsruhe inner city | |
*city¶ | string | The canonical name of the city (there may be more than one per postal code). Example: Karlsruhe | |
street¶ | string | The canonical name of the street. Example: Kaiserstr. | |
house_number¶ | string | The house number. Examples: 32 , 32a , 32/1 | |
postbox_number¶ | string | Postbox number in case address is a postbox. | |
district¶ | string | Administrative division (i.e. Stadtteil). | |
additional_address_lines¶ | string | repeated | Additional address lines Example: Appartment 104, Care of etc. |
Price¶
Represents a price before and after taxes.
Field | Type | Rules | Description |
---|---|---|---|
*net¶ | google.type.Money | The price without VAT. | |
*gross¶ | google.type.Money | The price including VAT. | |
unit¶ | string | The unit the price is related to (e.g "kWh", "PCS", "month", etc.) |
Quantity¶
Field | Type | Rules | Description |
---|---|---|---|
unit¶ | string | The unit of the quantity. E.g.'kWh' or 'PCS' for pieces. | |
units¶ | int64 | The whole units of the quantity. For example if unit is "PCS" , then 1 unit is one piece. | |
nanos¶ | int32 | Number of nano (10^-9) units of the quantity. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |
RecurringCost¶
Represents a price/cost that repeats at a fixed interval.
Field | Type | Rules | Description |
---|---|---|---|
*price¶ | Price | The price per interval. | |
*interval¶ | google.type.CalendarPeriod | The interval at which the cost occurs (per day, month, etc.). |
TenantScopedListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the list belongs to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. |
TenantScopedResource¶
A tenant scoped resource.
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the resource belongs to. | |
*id¶ | string | The ID of the resource. |
TimeRange¶
A range of time with inclusive start, inclusive and exclusive end time. If both (inclusive and exclusive) ends are specified, they must be consistent. If no end is specified, the period is considered unbounded on the end.
Field | Type | Rules | Description |
---|---|---|---|
start¶ | google.protobuf.Timestamp | The inclusive start. | |
end¶ | google.protobuf.Timestamp | The inclusive end. | |
end_exclusive¶ | google.protobuf.Timestamp | The exclusive end. |
File-level Extensions¶
Extension | Type | Base | Number | Description |
---|---|---|---|---|
throws | string | .google.protobuf.MethodOptions | 76131 | throws is used to document error messages that the method might return in status.details. |
CalendarPeriod¶
A CalendarPeriod
represents the abstract concept of a time period that has a canonical start. Grammatically, "the start of the current CalendarPeriod
." All calendar times begin at midnight UTC.
Name | Number | Description |
---|---|---|
CALENDAR_PERIOD_UNSPECIFIED | 0 | Undefined period, raises an error. |
DAY | 1 | A day. |
WEEK | 2 | A week. Weeks begin on Monday, following ISO 8601. |
FORTNIGHT | 3 | A fortnight. The first calendar fortnight of the year begins at the start of week 1 according to ISO 8601. |
MONTH | 4 | A month. |
QUARTER | 5 | A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each year. |
HALF | 6 | A half-year. Half-years start on dates 1-Jan and 1-Jul. |
YEAR | 7 | A year. |
Date¶
Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:
- A full date, with non-zero year, month, and day values
- A month and day value, with a zero year, such as an anniversary
- A year on its own, with zero month and day values
- A year and month value, with a zero day, such as a credit card expiration date
Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and google.protobuf.Timestamp
.
Field | Type | Rules | Description |
---|---|---|---|
year¶ | int32 | Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. | |
month¶ | int32 | Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. | |
day¶ | int32 | Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. |
Money¶
Represents an amount of money with its currency type.
Field | Type | Rules | Description |
---|---|---|---|
currency_code¶ | string | The three-letter currency code defined in ISO 4217. | |
units¶ | int64 | The whole units of the amount. For example if currencyCode is "USD" , then 1 unit is one US dollar. | |
nanos¶ | int32 | Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |