generated: '2026-09-26' method: derived generator: derive-data-model.py source: - openapi/arcadiapower2-openapi.yaml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 108 entities_in_spec: 108 relationships: 61 entities: - name: AccessTokenResponse fields: 5 - name: AccessTokenUnauthorizedError fields: 1 - name: BundleEnrollment fields: 9 - name: BundleEnrollmentInvalidUtilityAccountIdsError fields: 1 - name: BundleEnrollmentMissingUtilityAccountIdsError fields: 1 - name: BundleEnrollmentRequestBodyParams fields: 1 - name: BundleUnenrollError fields: 1 - name: BundleUtilityRemittanceItemCreateRequestBodyParams fields: 2 - name: ChargeCostFeatureAvailabilityError fields: 1 - name: ChargeCostRequestBodyParams fields: 5 - name: ChargeCostResponse fields: 5 - name: ChargeCurvesTariffParamError fields: 1 - name: ConnectTokenTooManyParametersError fields: 1 - name: ConnectTokenUnauthorizedError fields: 1 - name: ConnectTokenUnprocessableEntityError fields: 1 - name: ConnectUrlResponse fields: 1 - name: ConnectUrlVariantError fields: 1 - name: CreateWebhookBodyParams fields: 2 - name: DeleteUserError fields: 1 - name: DispatchStrategy fields: 3 - name: EvChargePlan fields: 5 description: Specifies a time window where the EV is at home and available for charging. - name: FeatureAvailability fields: 5 - name: FixedSchedule fields: 3 - name: ForbiddenError fields: 1 - name: HistoricalUtilityStatementsDiscoveredWebhookEvent fields: 3 - name: IneligibilityReason fields: 2 - name: InvalidResourceError fields: 1 - name: LoadServingEntitySchema fields: 4 - name: MalformedParametersError fields: 1 - name: MostRecentTariff fields: 0 - name: NewUtilityStatementAvailableWebhookEvent fields: 3 - name: OptimizedTariffRecommendationsLseIdentificationParamError fields: 1 - name: OptimizedTariffRecommendationsResponse fields: 4 - name: PaginatedUsers fields: 2 - name: PaginatedUtilityAccounts fields: 2 - name: PaginatedUtilityCredentials fields: 2 - name: PaginatedUtilityMeters fields: 2 - name: PaginatedUtilityStatements fields: 2 - name: PaginatedWebhookEndpoints fields: 2 - name: PaginatedWebhookEvents fields: 2 - name: PingResponse fields: 1 - name: PingUnauthorizedError fields: 1 - name: SandboxBundleEnrollmentError fields: 1 - name: SandboxBundleRejectReasonsError fields: 1 - name: SandboxBundleRemoveReasonError fields: 1 - name: SearchLoadServingEntitiesResponse fields: 2 - name: SmartChargeFeatureAvailabilityError fields: 1 - name: SmartChargeScheduleRequestBodyParams fields: 6 - name: SmartChargeScheduleResponse fields: 3 - name: SparkParamValidationError fields: 1 - name: StorageOptimizationSchedulesRequestParams fields: 22 - name: StorageOptimizationSchedulesResponse fields: 11 - name: Tariff fields: 6 description: Information about a tariff. - name: TariffApplicabilityAnswerSchema fields: 3 - name: TariffApplicabilityAnswersRequestParams fields: 4 - name: TariffApplicabilityQuestionSchema fields: 4 - name: TariffApplicabilityQuestionsResponse fields: 4 - name: TariffRatesRequestBodyParams fields: 5 - name: TariffRatesResponse fields: 2 - name: TariffResolutionError fields: 1 - name: TariffScenarioCostRequestParams fields: 6 - name: TariffScenarioCostRequestTariffIdentificationParamError fields: 1 - name: TariffScenarioCostResponse fields: 3 description: Parameters for a rooftop solar system - name: TariffScenarioDeviceEvChargingParams fields: 4 description: Parameters for charging level and EV operation schedule - name: TariffScenarioDeviceRemovedEvChargingParams fields: 4 description: Parameters for charging level and EV operation schedule - name: TariffScenarioDeviceSolarParams fields: 2 - name: TestWebhookEvent fields: 2 - name: ThrottledError fields: 1 - name: TimeOfUse fields: 2 - name: TimeSeriesItem fields: 2 - name: TouPeriod fields: 4 - name: TouSeason fields: 4 - name: UnpermittedParametersError fields: 1 - name: UpdateWebhookBodyParams fields: 2 - name: User fields: 3 - name: UserDataExceedsLimitsError fields: 1 - name: UserNotFoundError fields: 1 - name: UtilityAccount fields: 22 - name: UtilityAccountNotFoundError fields: 1 - name: UtilityAccountUpdatedWebhookEvent fields: 3 - name: UtilityAccountsDiscoveredWebhookEvent fields: 3 - name: UtilityAccountsDiscoveryErrorWebhookEvent fields: 3 - name: UtilityCredential fields: 12 - name: UtilityCredentialNotFoundError fields: 1 - name: UtilityCredentialRejectedWebhookEvent fields: 3 - name: UtilityCredentialRevokedWebhookEvent fields: 3 - name: UtilityCredentialVerificationErrorWebhookEvent fields: 3 - name: UtilityCredentialVerifiedWebhookEvent fields: 3 - name: UtilityMeter fields: 9 - name: UtilityRemittanceEnrollError fields: 1 - name: UtilityRemittanceEnrolledWebhookEvent fields: 3 - name: UtilityRemittanceIneligibleWebhookEvent fields: 3 - name: UtilityRemittanceItem fields: 10 - name: UtilityRemittanceItemCreateError fields: 1 - name: UtilityRemittanceItemRemittedWebhookEvent fields: 3 - name: UtilityRemittanceItemScheduledWebhookEvent fields: 3 - name: UtilityRemittancePendingEnrollmentWebhookEvent fields: 3 - name: UtilityRemittancePendingRemovalWebhookEvent fields: 3 - name: UtilityRemittanceRemovedWebhookEvent fields: 3 - name: UtilityStatement fields: 26 - name: UtilityStatementNotFoundError fields: 1 - name: UtilityStatementsFeatureAvailabilityError fields: 1 - name: WebhookDeliveryAttempt fields: 7 - name: WebhookEndpoint fields: 8 - name: WebhookEndpointUnprocessableEntityError fields: 1 - name: WebhookEvent fields: 9 - name: WebhookEventSummary fields: 7 - name: WebhookTriggerError fields: 1 relationships: - from: UtilityMeter to: UtilityCredential type: belongs_to via: utility_credential_id - from: UtilityMeter to: UtilityAccount type: belongs_to via: utility_account_id - from: UtilityAccount to: UtilityCredential type: belongs_to via: utility_credential_id - from: UtilityAccount to: MostRecentTariff type: has_one via: most_recent_tariff - from: UtilityAccount to: FeatureAvailability type: has_one via: feature_availability - from: UtilityAccount to: UtilityMeter type: has_many via: utility_meters - from: PaginatedUtilityAccounts to: UtilityAccount type: has_many via: data - from: User to: UtilityCredential type: has_many via: utility_credentials - from: PaginatedUtilityCredentials to: UtilityCredential type: has_many via: data - from: PaginatedUtilityMeters to: UtilityMeter type: has_many via: data - from: UtilityStatement to: Tariff type: has_one via: tariff - from: UtilityStatement to: UtilityAccount type: belongs_to via: utility_account_id - from: PaginatedUtilityStatements to: UtilityStatement type: has_many via: data - from: ChargeCostRequestBodyParams to: UtilityAccount type: belongs_to via: utility_account_id - from: ChargeCostResponse to: UtilityAccount type: belongs_to via: utility_account_id - from: ChargeCostResponse to: MostRecentTariff type: has_one via: tariff - from: SmartChargeScheduleRequestBodyParams to: UtilityAccount type: belongs_to via: utility_account_id - from: TariffRatesRequestBodyParams to: UtilityAccount type: belongs_to via: utility_account_id - from: TariffRatesResponse to: Tariff type: has_one via: tariff - from: SearchLoadServingEntitiesResponse to: LoadServingEntitySchema type: has_many via: data - from: TariffApplicabilityQuestionsResponse to: TariffApplicabilityQuestionSchema type: has_many via: applicability_questions - from: TariffApplicabilityAnswersRequestParams to: UtilityAccount type: belongs_to via: utility_account_id - from: TariffApplicabilityAnswersRequestParams to: TariffApplicabilityAnswerSchema type: has_many via: applicability_answers - from: OptimizedTariffRecommendationsResponse to: Tariff type: has_many via: recommendations - from: TariffScenarioDeviceEvChargingParams to: EvChargePlan type: has_many via: charging_availability - from: TariffScenarioDeviceRemovedEvChargingParams to: EvChargePlan type: has_many via: charging_availability - from: TariffScenarioCostRequestParams to: UtilityAccount type: belongs_to via: utility_account_id - from: TariffScenarioCostRequestParams to: TariffApplicabilityAnswerSchema type: has_many via: applicability_answers - from: TariffScenarioCostRequestParams to: TariffScenarioDeviceSolarParams type: has_many via: device_loads - from: TariffScenarioCostRequestParams to: TariffScenarioDeviceEvChargingParams type: has_many via: device_loads - from: TariffScenarioCostRequestParams to: TariffScenarioDeviceRemovedEvChargingParams type: has_many via: device_loads - from: TimeOfUse to: TouSeason type: has_one via: season - from: TimeOfUse to: TouPeriod type: has_many via: touPeriods - from: FixedSchedule to: TimeOfUse type: has_many via: chargeTous - from: FixedSchedule to: TimeOfUse type: has_many via: dischargeTous - from: DispatchStrategy to: FixedSchedule type: has_one via: fixedSchedule - from: StorageOptimizationSchedulesRequestParams to: DispatchStrategy type: has_one via: dispatch_strategy - from: BundleEnrollmentRequestBodyParams to: UtilityAccount type: belongs_to via: utility_account_ids - from: BundleEnrollment to: UtilityAccount type: belongs_to via: utility_account_id - from: BundleEnrollment to: IneligibilityReason type: has_many via: ineligibility_reasons - from: UtilityRemittanceItem to: UtilityStatement type: belongs_to via: utility_statement_id - from: PaginatedWebhookEndpoints to: WebhookEndpoint type: has_many via: data - from: WebhookEventSummary to: WebhookEndpoint type: belongs_to via: webhook_endpoint_id - from: PaginatedWebhookEvents to: WebhookEventSummary type: has_many via: data - from: WebhookDeliveryAttempt to: WebhookEvent type: belongs_to via: webhook_event_id - from: WebhookEvent to: WebhookEndpoint type: belongs_to via: webhook_endpoint_id - from: WebhookEvent to: WebhookDeliveryAttempt type: has_many via: delivery_attempts - from: UtilityCredentialVerifiedWebhookEvent to: UtilityCredential type: has_one via: data - from: UtilityCredentialRejectedWebhookEvent to: UtilityCredential type: has_one via: data - from: UtilityCredentialRevokedWebhookEvent to: UtilityCredential type: has_one via: data - from: UtilityCredentialVerificationErrorWebhookEvent to: UtilityCredential type: has_one via: data - from: UtilityAccountsDiscoveryErrorWebhookEvent to: UtilityCredential type: has_one via: data - from: UtilityAccountUpdatedWebhookEvent to: UtilityAccount type: has_one via: data - from: NewUtilityStatementAvailableWebhookEvent to: UtilityStatement type: has_one via: data - from: UtilityRemittancePendingEnrollmentWebhookEvent to: BundleEnrollment type: has_one via: data - from: UtilityRemittanceIneligibleWebhookEvent to: BundleEnrollment type: has_one via: data - from: UtilityRemittanceEnrolledWebhookEvent to: BundleEnrollment type: has_one via: data - from: UtilityRemittancePendingRemovalWebhookEvent to: BundleEnrollment type: has_one via: data - from: UtilityRemittanceRemovedWebhookEvent to: BundleEnrollment type: has_one via: data - from: UtilityRemittanceItemRemittedWebhookEvent to: UtilityRemittanceItem type: has_one via: data - from: UtilityRemittanceItemScheduledWebhookEvent to: UtilityRemittanceItem type: has_one via: data