Skip to main content

Object Models

This page marks the highest-signal API objects so you can quickly see which payloads are canonical and where they appear.

Authentication Objects

ObjectTypeUsed ByNotes
TokenRequestrequest bodyPOST /auth/tokenExchanges workspace and user API keys for a Daly JWT.
TokenResponseresponse bodyPOST /auth/tokenReturns result plus the issued JWT in token.
SupabaseWorkspaceResponseresponse itemGET /auth/workspacesLists the workspaces a Supabase-authenticated user can exchange into.
SupabaseExchangeRequestrequest bodyPOST /auth/exchange-supabaseSupplies the selected Daly workspace ID after Supabase auth.

Workspace and Organization Objects

ObjectTypeUsed ByNotes
WorkspaceCreateRequestrequest bodyPOST /workspacesCreates a workspace and returns its plaintext API key once.
WorkspaceUpdateRequestrequest bodyPUT /workspaces/{workspace_id}Replaces mutable workspace metadata.
WorkspaceSettingsReplaceRequestrequest bodyPUT /workspaces/{workspace_id}/settingsReplaces the full workspace settings document.
WorkspaceSettingsPatchRequestrequest bodyPATCH /workspaces/{workspace_id}/settingsDeep-merges partial settings updates.
OrganizationInviteCreateRequestrequest bodyPOST /organizations/{organization_id}/invitesIssues an invite token for an organization role.
OrganizationInviteAcceptRequestrequest bodyPOST /organizations/{organization_id}/invites/acceptAccepts an invite token into the target organization.
OrganizationUpdateRequestrequest bodyPATCH /organizations/{organization_id}Updates mutable organization metadata.
OrganizationWorkspaceCreateRequestrequest bodyPOST /organizations/{organization_id}/workspacesCreates a workspace directly under an organization.

Modeling Resource Objects

ObjectTypeUsed ByNotes
LocationCreateRequestrequest bodyPOST /locationsSite metadata plus optional nested weather data.
WeatherDataCreateRequestrequest bodyPOST /weatherdataInline weather arrays or provider-backed weather sourcing.
ModuleCreateRequestrequest bodyPOST /modules/jsonJSON module creation when file upload is not used.
InverterCreateRequestrequest bodyPOST /inverters/jsonJSON inverter creation when file upload is not used.
LayoutCreateRequestrequest bodyPOST /layoutsCreates a layout resource and optional layout payload.
ShadingSceneCreateRequestrequest bodyPOST /shadingscenesCanonical JSON shape for scene geometry and tracking metadata.
ShadingSceneAcceptedResponseresponse bodyPOST /shadingscenes, POST /shadingscenes/importReturns the queued scene resource and task context.

Energy Model and Async Objects

ObjectTypeUsed ByNotes
EnergyModelInputrequest bodyPOST /energymodels, PUT /energymodels/{energy_model_id}Canonical model-run payload and saved-input update body, including output.timeSeries, output.fullTimeSeries, output.blockResults, output.blockIndex, output.lossBreakdownTimestamps, and output.irradianceLossDetail.
EnergyModelDetailResponseresponse bodyGET /energymodels/{energy_model_id}, PUT /energymodels/{energy_model_id}Detail payload with include-gated outputs plus saved inputs. Optional result sections include timeSeries and blockTimeSeries.
EnergyModelPostCompletedResponseresponse bodyPOST /energymodels, POST /energymodels/{energy_model_id}/runReturned when execution completes in request scope. Sync-completed responses can expose top-level timeSeries, blockTimeSeries, and additive losses.irradianceLossDetail.
EnergyModelPostAcceptedResponseresponse bodyPOST /energymodels, POST /energymodels/{energy_model_id}/runReturned when execution queues background processing.
EnergyModelTaskDetailsnested objectenergy-model responsesShared task metadata block for polling and warnings.
TaskStatusenumtask and workflow responsesTerminal states include completed, failed, and cancelled.
TaskTypeenumtask and workflow responsesIdentifies the queued operation family.
Some list/detail responses are currently surfaced as inline OpenAPI shapes instead of named components. Use the interactive endpoint pages for the exact response envelope when a named response object is not listed here.