Skip to content

MonopolX Contracting API v1 (Alpha)

AccountingBlocks

Manage AccountingBlock on contracts

Get

Get an AccountingBlock related to a specific contract

Output: AccountingBlock

Field Type Rules Description
*tenant string immutable The tenant the AccountingBlock belongs to.
*id string immutable The AccountingBlock's ID in the tenant's scope.
*type AccountingBlock.Type immutable Type of AccountingBlock.
dunning AccountingBlock.ReasonDunningBlock Present if accounting block is of type "dunning"
billing AccountingBlock.ReasonBillingBlock Present if accounting block is of type "billing"
*active_period AccountingBlock.DateRange The period when the AccountingBlock is active.
is_cancelled bool output only is_cancelled determines whether the AccountingBlock was cancelled manually. If yes, then this field will be true otherwise it will be false.
create_time google.protobuf.Timestamp output only The creation time of the AccountingBlock.
update_time google.protobuf.Timestamp output only The last update time of the AccountingBlock.

List

List AccountingBlocks

Input: AccountingBlockListRequest

Field Type Rules Description
*tenant string The tenant to list AccountingBlock for.
*parent string The parent, which owns this collection of AccountingBlock.
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 AccountingBlockListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-create_time".

Output: AccountingBlockListResponse

Field Type Rules Description
accounting_blocks AccountingBlock repeated AccountingBlocks
total_size int32 Count of items contained in the list.
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 an AccountingBlock by its id and tenant id for a selected contract.

Input: AccountingBlock

Field Type Rules Description
*tenant string immutable The tenant the AccountingBlock belongs to.
*id string immutable The AccountingBlock's ID in the tenant's scope.
*type AccountingBlock.Type immutable Type of AccountingBlock.
dunning AccountingBlock.ReasonDunningBlock Present if accounting block is of type "dunning"
billing AccountingBlock.ReasonBillingBlock Present if accounting block is of type "billing"
*active_period AccountingBlock.DateRange The period when the AccountingBlock is active.
is_cancelled bool output only is_cancelled determines whether the AccountingBlock was cancelled manually. If yes, then this field will be true otherwise it will be false.
create_time google.protobuf.Timestamp output only The creation time of the AccountingBlock.
update_time google.protobuf.Timestamp output only The last update time of the AccountingBlock.

Output: AccountingBlock

Field Type Rules Description
*tenant string immutable The tenant the AccountingBlock belongs to.
*id string immutable The AccountingBlock's ID in the tenant's scope.
*type AccountingBlock.Type immutable Type of AccountingBlock.
dunning AccountingBlock.ReasonDunningBlock Present if accounting block is of type "dunning"
billing AccountingBlock.ReasonBillingBlock Present if accounting block is of type "billing"
*active_period AccountingBlock.DateRange The period when the AccountingBlock is active.
is_cancelled bool output only is_cancelled determines whether the AccountingBlock was cancelled manually. If yes, then this field will be true otherwise it will be false.
create_time google.protobuf.Timestamp output only The creation time of the AccountingBlock.
update_time google.protobuf.Timestamp output only The last update time of the AccountingBlock.

SetDunningBlockEndDate

Updates endDate of an AccountingBlock of type DunningBlock.

Input: SetDunningBlockEndDateRequest

Field Type Rules Description
*tenant string immutable The tenant the AccountingBlock belongs to.
*id string immutable The AccountingBlock's ID in the tenant's scope.
*end_date google.type.Date The endDate when the AccountingBlock of type Dunning will end.

Output: AccountingBlock

Field Type Rules Description
*tenant string immutable The tenant the AccountingBlock belongs to.
*id string immutable The AccountingBlock's ID in the tenant's scope.
*type AccountingBlock.Type immutable Type of AccountingBlock.
dunning AccountingBlock.ReasonDunningBlock Present if accounting block is of type "dunning"
billing AccountingBlock.ReasonBillingBlock Present if accounting block is of type "billing"
*active_period AccountingBlock.DateRange The period when the AccountingBlock is active.
is_cancelled bool output only is_cancelled determines whether the AccountingBlock was cancelled manually. If yes, then this field will be true otherwise it will be false.
create_time google.protobuf.Timestamp output only The creation time of the AccountingBlock.
update_time google.protobuf.Timestamp output only The last update time of the AccountingBlock.

Cancel

Cancel an AccountingBlock.

Output: AccountingBlock

Field Type Rules Description
*tenant string immutable The tenant the AccountingBlock belongs to.
*id string immutable The AccountingBlock's ID in the tenant's scope.
*type AccountingBlock.Type immutable Type of AccountingBlock.
dunning AccountingBlock.ReasonDunningBlock Present if accounting block is of type "dunning"
billing AccountingBlock.ReasonBillingBlock Present if accounting block is of type "billing"
*active_period AccountingBlock.DateRange The period when the AccountingBlock is active.
is_cancelled bool output only is_cancelled determines whether the AccountingBlock was cancelled manually. If yes, then this field will be true otherwise it will be false.
create_time google.protobuf.Timestamp output only The creation time of the AccountingBlock.
update_time google.protobuf.Timestamp output only The last update time of the AccountingBlock.

AccountingBlock.DateRange

Field Type Rules Description
start google.type.Date output only The start date.
end google.type.Date The end date. This field needs to be set for accountingblock of type DUNNING_BLOCK.

AccountingBlockListRequest.Filter

Field Type Rules Description
types AccountingBlock.Type repeated Filter by type.
dunning AccountingBlock.ReasonDunningBlock Filter by dunning block reason.
billing AccountingBlock.ReasonBillingBlock Filter by billing block reason

AccountingBlock.ReasonBillingBlock

Name Number Description
REASON_BILLING_BLOCK_UNSPECIFIED 0 AccountingBlock reason is unspecified.
BILLNG_INSOLVENCY 1 AccountingBlock reason is insolvency (DE: Insolvenz).
BILLING_ACCESS_LAWSUIT 2 AccountingBlock reason is access lawsuit (DE: Zutrittsklage).
BILLING_NEEDS_CLARIFICATION 3 AccountingBlock reason is needs clarification (DE: Klaerfall).
BILLING_DEVICE_MISTAKE 4 AccountingBlock reason is device mistake (DE: Zaehlerverwechslung).
BILLING_DEVICE_REPLACEMENT 5 AccountingBlock reason is device replacement (DE: Zaehlerwechsel).
BILLING_MISSING_READINGS_INVOICE_CORRECTION 6 AccountingBlock reason is missing readings invoice correction (DE: fehlende Messwerte/Rechnungskorrektur (REKO)).
BILLING_BLOCKING_ORDER 7 AccountingBlock reason is blocking order (DE: Sperrauftrag).
BILLING_BLOCKING_COLLECTION_ORDER 8 AccountingBlock reason is blocking collection order (DE: Sperrinkassoauftrag).
BILLING_INTERNAL_INVOICE_MANAGEMENT 9 AccountingBlock reason is internal invoice management (DE: internes Rechnungsmanagement).
BILLING_VACANCY_RESEARCH 10 AccountingBlock reason is vacancy research (DE: Leerstandrecherche).

AccountingBlock.ReasonDunningBlock

Name Number Description
REASON_DUNNING_BLOCK_UNSPECIFIED 0 AccountingBlock reason is unspecified.
DUNNING_GENERAL 1 AccountingBlock reason is general (DE: allgemeine Sperre).
DUNNING_INSOLVENCY 2 AccountingBlock reason is insolvency (DE: Insolvenz).
DUNNING_LITIGATION 3 AccountingBlock reason is litigation (DE: §315 Klageverfahren).
DUNNING_ARBITRATION 4 AccountingBlock reason is arbitration (DE: GF/RA/Schlichtungsstelle).
DUNNING_INTERNAL_INVOICE_MANAGEMENT 5 AccountingBlock reason is internal invoice management (DE: internes Rechnungsmanagement).
DUNNING_BALANCE_UNCLEAR 6 AccountingBlock reason is balance unclear (DE: Forderung/Guthaben unklar).
DUNNING_DEATH 7 AccountingBlock reason is death (DE: Todesfall).
DUNNING_TERMINATION_REVOCATION 8 AccountingBlock reason is termination revocation (DE: Kuendigung+Widerruf).
DUNNING_WAIVER_AGREEMENT 9 AccountingBlock reason is waiver agreement (DE: Abwendungsvereinbarung).
DUNNING_TELEPHONE_COLLECTION 10 AccountingBlock reason is telephone collection (DE: Telefoninkasso).
DUNNING_ADMIN 11 AccountingBlock reason is admin (DE: Admin FM).
DUNNING_MAIL_RETURN 12 AccountingBlock reason is mail return (DE: Postruecklaeufer).
DUNNING_BANK_RETURN 13 AccountingBlock reason is bank return (DE: Bankruecklaeufer).
DUNNING_BLOCKING_ORDER 14 AccountingBlock reason is blocking order (DE: Sperrauftrag).
DUNNING_BLOCKING_COLLECTION_ORDER 15 AccountingBlock reason is blocking collection order (DE: Sperrinkassoauftrag).
DUNNING_ACCESS_LAWSUIT 16 AccountingBlock reason is access lawsuit (DE: Zutrittsklage).
DUNNING_RESEARCHING_CUSTOMER_INFO 17 AccountingBlock reason is researching customer info (DE: Kundenrecherche).
DUNNING_AGREEMENT_WITH_CUSTOMER 18 AccountingBlock reason is agreement with customer (DE: Vereinbarung mit Kunde).
DUNNING_HANDOFF_TO_LEGAL_DEPARTMENT 19 AccountingBlock reason is delivery legal department (DE: Abgabe Rechtsabeilung).
DUNNING_OWNER_UNKNOWN 20 AccountingBlock reason is empty system research (DE: Leeranlagerecherche).
DUNNING_FINISHING_HANDOFF_TO_LEGAL_DEPARTMENT 21 AccountingBlock reason is demolition legal department (DE: Rueckbau Rechtsabeilung).

AccountingBlock.Type

Name Number Description
TYPE_UNSPECIFIED 0 AccountingBlock type is unspecified.
DUNNING_BLOCK 1 AccountingBlock type is dunning block (DE: Mahnsperre).
BILLING_BLOCK 2 AccountingBlock type is billing block (DE: Abrechnungssperre).

Contacts

Attach Partners as Contacts to a Contract.

List

List contacts for a contract.

Input: ContactListRequest

Field Type Rules Description
*parent string The parent, which owns this collection of premises.
*tenant string The tenant to list addresses for.
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 ContactListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ContactList

Field Type Rules Description
contacts Contact repeated List of contacts
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

Get

Get a Contact.

Output: Contact

Field Type Rules Description
*tenant string immutable The tenant of the resource.
*id string immutable The ID of the contact. Contains the contract's ID.
*type Contact.ContactType The type of contact. Must be set to an existing and active enpowerx.monopolx.contracting.v1.InputValue
*partner string The related partner.
description string A description of the contact.
annotations Contact.AnnotationsEntry repeated Arbitrary metadata for the contact.
create_time google.protobuf.Timestamp output only The creation time of the communication data.
update_time google.protobuf.Timestamp output only The last update time of the communication data.

Create

Create a Contact for a contract.

Input: Contact

Field Type Rules Description
*tenant string immutable The tenant of the resource.
*id string immutable The ID of the contact. Contains the contract's ID.
*type Contact.ContactType The type of contact. Must be set to an existing and active enpowerx.monopolx.contracting.v1.InputValue
*partner string The related partner.
description string A description of the contact.
annotations Contact.AnnotationsEntry repeated Arbitrary metadata for the contact.
create_time google.protobuf.Timestamp output only The creation time of the communication data.
update_time google.protobuf.Timestamp output only The last update time of the communication data.

Output: Contact

Field Type Rules Description
*tenant string immutable The tenant of the resource.
*id string immutable The ID of the contact. Contains the contract's ID.
*type Contact.ContactType The type of contact. Must be set to an existing and active enpowerx.monopolx.contracting.v1.InputValue
*partner string The related partner.
description string A description of the contact.
annotations Contact.AnnotationsEntry repeated Arbitrary metadata for the contact.
create_time google.protobuf.Timestamp output only The creation time of the communication data.
update_time google.protobuf.Timestamp output only The last update time of the communication data.

BatchCreateContacts

Create multiple Contacts

Input: BatchCreateContactsRequest

Field Type Rules Description
tenant string The tenant to batch create contacts for
*contacts Contact repeated The contacts to create

Output: BatchCreateContactsResponse

Field Type Rules Description
contacts Contact repeated The created contacts

Update

Update a Contact.

Input: UpdateContactRequest

Field Type Rules Description
*contact Contact The contact to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Contact

Field Type Rules Description
*tenant string immutable The tenant of the resource.
*id string immutable The ID of the contact. Contains the contract's ID.
*type Contact.ContactType The type of contact. Must be set to an existing and active enpowerx.monopolx.contracting.v1.InputValue
*partner string The related partner.
description string A description of the contact.
annotations Contact.AnnotationsEntry repeated Arbitrary metadata for the contact.
create_time google.protobuf.Timestamp output only The creation time of the communication data.
update_time google.protobuf.Timestamp output only The last update time of the communication data.

Delete

Delete a Contact.

Contact.AnnotationsEntry

Field Type Rules Description
key string
value string

ContactListRequest.Filter

Field Type Rules Description
ids string repeated Filter by contact ids
types Contact.ContactType repeated Filter by contact types
partners string repeated Filter by related partners

Contact.ContactType

Name Number Description
CONTACT_TYPE_UNSPECIFIED 0 Type is not specified.
INVOICE_RECEIVER 1 The related partner is an invoice recipient.

Contracts

Manage contracts

Get

Get a contract with at the time of request valid references (e.g. bank account data)

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

List

List contracts.

Input: ContractListRequest

Field Type Rules Description
*tenant string The tenant to list contracts for.
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 ContractListRequest.Filter The filter to apply to.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-create_time".

Output: ContractListResponse

Field Type Rules Description
contracts Contract repeated The requested contracts.
total_size int32 Count of items contained in the list.
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 contract by its id and tenant id.

Input: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

BatchCreateContracts

Batch create contracts. All contracts must have the same partner.

Input: BatchCreateContractsRequest

Field Type Rules Description
tenant string The tenant to batch create contracts for.
*contracts Contract repeated The contracts to create

Output: BatchCreateContractsResponse

Field Type Rules Description
contracts Contract repeated The created contracts

Update

Update a contract.

Input: UpdateContractRequest

Field Type Rules Description
*contract Contract The contract to create.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

SetBankAccount

Set the active bank account of a contract.
This creates a new bank account time slice.

Input: SetBankAccountRequest

Field Type Rules Description
*tenant string The tenant the contract belongs to.
*contract string The contract's ID in the tenant's scope.
*bank_account ContractBankAccount The bank account to be set
follow_up_bank_account ContractBankAccount The follow up bank account to be set needs to have infinite validity. Only required when bank account has an end date

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

ReplaceBankAccount

Replace the usage of the given bank account in all related contracts.

Input: ReplaceBankAccountRequest

Field Type Rules Description
*tenant string The tenant the contract belongs to.
*replaced_bank_account string The id of the bank account which should be replaced.
*end_date google.type.Date End date of the bank account which should be terminated.
replacement_bank_account string The id of the bank account which should be used as replacement. When not defined then MANUAL_TRANSFER will be used.
sepa_mandated bool Contract exposes a SEPA mandate. Only for DIRECT_DEBIT
sepa_mandate_reference string SEPA mandate reference. Only for DIRECT_DEBIT

SetAddress

Set the active address of a contract.
This creates a new address time slice.

Input: SetAddressRequest

Field Type Rules Description
*tenant string The tenant the contract belongs to.
*contract string The contract's ID in the tenant's scope.
*address string immutable The address to use
*start_date google.type.Date Validity start date of the address.

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

BatchSetAddresses

Batch update set contract addresses

Input: BatchSetAddressesRequest

Field Type Rules Description
*tenant string The tenant to batch update contracts for.
*requests SetAddressRequest repeated The addresses to update

Output: BatchSetAddressesResponse

Field Type Rules Description
contracts Contract repeated Contracts updated

Cancel

Cancel a contract.

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

Terminate

Terminate a contract.

Input: TerminateContractRequest

Field Type Rules Description
*tenant string The tenant the contract belongs to
*id string The contract's ID in the tenant's scope.
*terminate_date google.type.Date The date on which the contract terminates
final_readings MeteringReading repeated The value of the final reading of the contract

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

SetCustomer

Set the Customer Businesspartner of a contract.
This only works for contracts that have no customer businesspartner set yet (Vacancy contracts).

Input: SetCustomerRequest

Field Type Rules Description
*tenant string The tenant the contract belongs to
*id string The contract's ID in the tenant's scope.
*customer_businesspartner string Id of the customer business partner.

Output: Contract

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
number string output only Generated number of the contract
*installation string immutable Installation number of a device.
external_contract_number string output only The external contract id to the tenant.
*customer_businesspartner string immutable Id of the customer business partner.
*supplier_businesspartner string immutable Id of the supplier business partner.
filing_cancellation_date google.type.Date Date of filing the contract cancellation.
cancelling_entity Contract.CancelledBy The entity who cancelled the contract.
cancellation_reason string Reason for cancellation.
revoked_date google.type.Date The date the contract was revoked.
effective_revocation_date google.type.Date The effective date the contract was revoked.
*invoice_addresses Contract.Address immutable
repeated
The invoice address of the contract.
*commodity enpowerx.monopolx.types.Commodity immutable The provided energy type to this contract.
*start_date google.type.Date Start date of the contract.
end_date google.type.Date Contractual end date to the contract.
*supplier_reading_regular_cycle_date Contract.DayOfMonth The regular reading date by supplier business partner.
*billing_cycle Contract.BillingCycle immutable The billing cycle of the contract.
state Contract.State output only The current contract state.
*bank_accounts Contract.BankAccount immutable
repeated
The bank accounts used for this contract. One bank account is required to have infinite validity.
*product string The product associated with this contract.
profitcenter string output only The profitcenter field of the contract.
create_time google.protobuf.Timestamp output only The creation time of the contract.
update_time google.protobuf.Timestamp output only The last update time of the contract.
*etag string This checksum is computed by the server based on the value of other
fields, and must be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.

BatchSetCustomers

Set the Customer Businesspartner for multiple contracts.
This only works for contracts that have no customer businesspartner set yet (Vacancy contracts).

Input: BatchSetCustomersRequest

Field Type Rules Description
*tenant string The tenant to batch update contracts for.
*requests SetCustomerRequest repeated The customer business partner to set

Output: BatchSetCustomersResponse

Field Type Rules Description
contracts Contract repeated Contracts updated

Contract.Address

Time sliced address of the contract

Field Type Rules Description
*address string immutable The invoice address of the contract.
The invoice address may belong to another business partner
*period enpowerx.types.DateRange The period in which the invoice receiver is valid for.
is_active bool output only Indicates that the address is currently active

Contract.BankAccount

Field Type Rules Description
bank_account_depositing string The bank account for deposits attached to this contract.
bank_account_withdrawal string The bank account for withdrawals to this contract.
Required if method is DIRECT_DEBIT
sepa_mandated bool Contract exposes a SEPA mandate. Only for DIRECT_DEBIT
sepa_mandate_reference string SEPA mandate reference. Only for DIRECT_DEBIT
*payment_method enpowerx.types.PaymentMethod immutable The payment method used for withdrawals.
*period enpowerx.types.DateRange Validity period of the bank account.
is_active bool output only Indicates that the bank is currently active

Contract.DayOfMonth

Represents a day of a month

Field Type Rules Description
*month google.type.Month Month
*day int32 day of the month.

ContractBankAccount

Field Type Rules Description
bank_account_depositing string The bank account for deposits attached to this contract.
bank_account_withdrawal string The bank account for withdrawals to this contract.
Required if method is DIRECT_DEBIT
sepa_mandated bool Contract exposes a SEPA mandate. Only for DIRECT_DEBIT
sepa_mandate_reference string SEPA mandate reference. Only for DIRECT_DEBIT
*payment_method enpowerx.types.PaymentMethod The payment method used for withdrawals.
*start_date google.type.Date Validity start date of the bank account.

ContractListRequest.Filter

Field Type Rules Description
start_date_date enpowerx.types.DateFilter Filter by start date on the specified date.
start_date_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
end_date_date enpowerx.types.DateFilter Filter by start date on the specified date.
end_date_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
filing_cancellation_date google.type.Date optional Filter by filing cancellation date.
numbers string repeated Filter by number of the contract.
supplier_reading_regular_cycle_date ContractListRequest.Filter.DayOfMonth optional Filter by regular reading date by supplier business partner.
external_contract_numbers string repeated Filter by external contract id to the tenant.
sources string repeated Filter by source of the contract.
bank_account_depositing string repeated Filter by bank account for deposits attached to this contract.
bank_account_withdrawals string repeated Filter by bank account for withdrawals to this contract.
invoice_addresses string repeated Filter by different invoice receiver
installations string repeated Filter by installations associated with the contract.
supplier_businesspartners string repeated Filter by supplier id.
customer_businesspartners string repeated Filter by customer id.
products string repeated Filter by products
commodities enpowerx.monopolx.types.Commodity repeated Filter by commodity.
states Contract.State repeated Filter by contract status.
is_billable bool optional Filter by billable contracts, this includes:
- contracts that don't have a billing block
- contracts that are not cancelled
is_vacancy bool optional Filter by vacancy contracts.

ContractListRequest.Filter.DayOfMonth

Field Type Rules Description
day_of_month Contract.DayOfMonth The day of the month to filter for.
match_mode ContractListRequest.Filter.DayOfMonth.MatchMode The match mode to use for the day of month.

MeteringReading

Field Type Rules Description
*register string Id of the register
*value enpowerx.types.Decimal Value of the reading
quality MeteringReading.Quality Quality of the reading.
origin MeteringReading.Origin Origin of the reading.
channel MeteringReading.Channel Channel over which the reading was received.

Contract.BillingCycle

Name Number Description
BILLING_CYCLE_UNSPECIFIED 0 The billing cycle is unspecified.
MONTHLY 1 The billing cycle is monthly.
QUARTERLY 2 The billing cycle is quarterly.
SEMIANNUALLY 3 The billing cycle is semiannual.
ANNUALLY 4 The billing cycle is annual.

Contract.CancelledBy

Name Number Description
CANCELLED_BY_UNSPECIFIED 0 Contract was cancelled by an unknown entity.
AGENT 1 Contract was cancelled by Agent.
PROVIDER 2 Contract was cancelled by Provider.
SYSTEM 3 Contract was cancelled by System.

Contract.State

Name Number Description
STATE_UNSPECIFIED 0 Contract state is unspecified.
ACTIVE 1 Contract is active.
CANCELLED 2 Contract has been cancelled.
TERMINATED 3 Contract has been terminated.
VACANCY 4 Contract indicates a vacancy.
CREATING 5 Contract creating process is not finished yet

ContractListRequest.Filter.DayOfMonth.MatchMode

Name Number Description
MATCH_MODE_UNSPECIFIED 0 Match mode is not specified
EXACT 1 Match exact
GREATER_THAN_EQUAL 2 Match greater than equal
LESS_THAN_EQUAL 3 Match less than equal
GREATER_THAN 4 Match greater than
LESS_THAN 5 Match less than

MeteringReading.Channel

Name Number Description
CHANNEL_UNSPECIFIED 0 The channel is not specified.
MSCONS 1 Channel is via MSCONS
PHONE 2 Channel is via Phone (Telefon)
SYSTEM 3 Channel is the System.

MeteringReading.Origin

Name Number Description
ORIGIN_UNSPECIFIED 0 The origin is not specified.
CUSTOMER 1 Origin is the Customer (Kunde)
GRID 2 Origin is the Grid (Netz)
SUPPLIER 3 Origin is the Supplier (Lieferant)

MeteringReading.Quality

Name Number Description
QUALITY_UNSPECIFIED 0 The quality of the reading is not specified.
EXACT 1 The reading is a manual exact reading (Exakte Ablesung).
ESTIMATE_INTERPOLATED_AFTER 2 Reading is estimated using a reading after the cycle. (Variante 1).
ESTIMATE_INTERPOLATED_BEFORE 3 Reading is estimated using a reading before the cycle date (Variante 2).
ESTIMATE_INTERPOLATED_PREVIOUS_CYCLE 4 Reading is estimated using the consumption of the previous cycle (Variante 3).
ESTIMATE_INTERPOLATED_BEFORE_OUTSIDE_QUALIFYING_PERIOD 5 Reading is estimated using a reading before the cycle date, which is outside the qualifying period (Variante 4).
CALCULATION 6 Reading is calculated (Berechnung).
ESTIMATE_MANUAL 7 Estimation was conducted manually.

AccountingBlockCancelled

An accounting block was cancelled in all downstream systems

Field Type Rules Description
accounting_block AccountingBlock The AccountingBlock being deleted
contract string Internal contract identifier

AccountingBlockCancelling

An accounting block is being cancelled This event indicates that the accounting block has been cancelled in the upstream system and is now being cancelled in the downstream systems

Field Type Rules Description
accounting_block AccountingBlock The AccountingBlock being deleted
contract string Internal contract identifier

AccountingBlockCreated

Field Type Rules Description
accounting_block AccountingBlock The AccountingBlock being created
contract string Internal contract identifier

ContactCreated

Field Type Rules Description
contact Contact The contact being created

ContactDeleted

Field Type Rules Description
contact Contact The contact being deleted

ContactUpdated

Field Type Rules Description
contact Contact The contact being updated
old_contact Contact The old contact
changed_fields google.protobuf.FieldMask This field contains the names of all changed fields of the updated contact in comparison to the existing one.
docs see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

ContractBankAccountChanged

Field Type Rules Description
tenant string The tenant the bank account belongs to.
new_bank_account Contract.BankAccount The changed bank account
old_bank_account Contract.BankAccount The old bank account. Field is not set when there didnt exist a bank account.
customer string Id of the customer business partner.
contract string Internal contract identifier
changed_fields google.protobuf.FieldMask This field contains the names of all changed fields of the bank_account in comparison to the existing one.
If there is not an existing bank_account then this field contains all fields of the bank_account.
docs see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

ContractCancelled

Field Type Rules Description
contract Contract The contract being cancelled

ContractCreated

Field Type Rules Description
contract Contract The contract being created
terminated_contract Contract The terminated contract - this field is filled when there is an existing contract which is going to be replaced by a new one, otherwise this field will be empty

ContractInvoiceAddressChanged

Field Type Rules Description
contract Contract The contract the invoice address was changed for
new_address Contract.Address The new invoice address
old_address Contract.Address The old invoice address

ContractTerminated

Field Type Rules Description
contract Contract The contract being terminated
follow_up_dummy Contract The created follow up dummy contract
terminate_date google.type.Date The date on which the contract is terminated
final_readings MeteringReading repeated The value of the final reading of the contract

ContractUpdated

Field Type Rules Description
contract Contract The contract being updated.
old_contract Contract The old contract.
changed_fields google.protobuf.FieldMask This field contains the names of all changed fields of the updated contract in comparison to the existing one.
docs see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Readings

Manage readings

Get

Get a reading by id

Output: Reading

Field Type Rules Description
*tenant string immutable The tenant the reading belongs to.
*id string immutable the id of the reading.
*type string immutable Type of the reading
*value enpowerx.types.Decimal The value of the reading.
*active enpowerx.types.DateRange The period when the reading is active.
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

GetPriceComponentValues

Retrieve the value of a reading based on a enpowerx.billing.v1.PriceComponentType.
The contract id can either be the id or the number of the contract.

Input: GetPriceComponentValuesRequest

Field Type Rules Description
*tenant string The tenant the contract belongs to.
*id string The id of the contract.
*price_component_type string enpowerx.billing.v1.PriceComponentType for which the value shall be retrieved.
*period enpowerx.types.DateRange The period for which the value shall be retrieved.

Output: GetPriceComponentValuesResponse

Field Type Rules Description
tenant string output only The tenant the reading belongs to.
series GetPriceComponentValuesResponse.Reading repeated Time series with the amount for the requested period.

List

List readings.

Input: ReadingListRequest

Field Type Rules Description
*tenant string The tenant to list readings for.
*parent string The ID of the contract.
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 ReadingListRequest.Filter The filter to apply to.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ReadingListResponse

Field Type Rules Description
readings Reading repeated The requested readings.
total_size int32 Count of items contained in the list.
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 reading.

Input: Reading

Field Type Rules Description
*tenant string immutable The tenant the reading belongs to.
*id string immutable the id of the reading.
*type string immutable Type of the reading
*value enpowerx.types.Decimal The value of the reading.
*active enpowerx.types.DateRange The period when the reading is active.
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

Output: Reading

Field Type Rules Description
*tenant string immutable The tenant the reading belongs to.
*id string immutable the id of the reading.
*type string immutable Type of the reading
*value enpowerx.types.Decimal The value of the reading.
*active enpowerx.types.DateRange The period when the reading is active.
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

Update

Update a reading.

Input: UpdateReadingRequest

Field Type Rules Description
*reading Reading The reading to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Reading

Field Type Rules Description
*tenant string immutable The tenant the reading belongs to.
*id string immutable the id of the reading.
*type string immutable Type of the reading
*value enpowerx.types.Decimal The value of the reading.
*active enpowerx.types.DateRange The period when the reading is active.
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

GetPriceComponentValuesResponse.Reading

Field Type Rules Description
id string output only the id of the associated reading
amount enpowerx.types.Decimal output only The value of the reading.
billable bool output only Indicates if the value is billable
ts google.protobuf.Timestamp output only The time from which the value is valid.

ReadingListRequest.Filter

Field Type Rules Description
types string repeated Filter by reading type.
start_date_date enpowerx.types.DateFilter Filter by start date on the specified date.
start_date_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
end_date_date enpowerx.types.DateFilter Filter by start date on the specified date.
end_date_range enpowerx.types.DateRangeFilter Filter by start date in the specified range

ReadingTypes

Reading Types

Get

Get a readings by id

Output: ReadingType

(-- api-linter: core::0123::resource-annotation=disabled aip.dev/not-precedent: Disable linter for name field . --)

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable the id of the reading.
*name string Name of the reading type
*unit ReadingType.Unit The unit of the reading.
*price_component_type string immutable PriceComponent of the reading. Link to enpowerx.billing.v1.PriceComponentType
*commodity enpowerx.monopolx.types.Commodity Commodity the reading type belongs to
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

List

List contracts.

Input: ReadingTypeListRequest

Field Type Rules Description
*tenant string The tenant to list contracts for.
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 ReadingTypeListRequest.Filter The filter to apply to.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ReadingTypeListResponse

Field Type Rules Description
types ReadingType repeated The requested readings.
total_size int32 Count of items contained in the list.
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 contract by its id and tenant id.

Input: ReadingType

(-- api-linter: core::0123::resource-annotation=disabled aip.dev/not-precedent: Disable linter for name field . --)

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable the id of the reading.
*name string Name of the reading type
*unit ReadingType.Unit The unit of the reading.
*price_component_type string immutable PriceComponent of the reading. Link to enpowerx.billing.v1.PriceComponentType
*commodity enpowerx.monopolx.types.Commodity Commodity the reading type belongs to
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

Output: ReadingType

(-- api-linter: core::0123::resource-annotation=disabled aip.dev/not-precedent: Disable linter for name field . --)

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable the id of the reading.
*name string Name of the reading type
*unit ReadingType.Unit The unit of the reading.
*price_component_type string immutable PriceComponent of the reading. Link to enpowerx.billing.v1.PriceComponentType
*commodity enpowerx.monopolx.types.Commodity Commodity the reading type belongs to
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

Update

Update a contract.

Input: UpdateReadingTypeRequest

Field Type Rules Description
*reading_type ReadingType The reading to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: ReadingType

(-- api-linter: core::0123::resource-annotation=disabled aip.dev/not-precedent: Disable linter for name field . --)

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable the id of the reading.
*name string Name of the reading type
*unit ReadingType.Unit The unit of the reading.
*price_component_type string immutable PriceComponent of the reading. Link to enpowerx.billing.v1.PriceComponentType
*commodity enpowerx.monopolx.types.Commodity Commodity the reading type belongs to
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

ReadingTypeListRequest.Filter

Field Type Rules Description
name_scalar enpowerx.types.StringScalarFilter Filter for one value.
name_list enpowerx.types.StringListFilter Filter for a range of values.
price_component_types string repeated Filter by price component type of the reading type.
units ReadingType.Unit repeated Filter by unit.
commodities enpowerx.monopolx.types.Commodity repeated Filter by commodity

ReadingType.Unit

Name Number Description
UNIT_UNSPECIFIED 0 Unit is unspecified.
UNIT_CENTIMETER 1 Unit is centimeter.
UNIT_METER 2 Unit is meter.
UNIT_SQUARE_METER 3 Unit is square meter.
UNIT_CUBIC_METER 4 Unit is cubic meter.
UNIT_HOUR 5 Unit is hour.
UNIT_DAY 6 Unit is day.
UNIT_METER_PER_SECOND 7 Unit is meter per second.
UNIT_PIECE 8 Generic unit per piece, whatever that piece is, is subject to you imagination.

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.
EMAIL 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.
EMAIL 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.

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)

Legend

*) required