> ## Documentation Index
> Fetch the complete documentation index at: https://podpora.cubee.cz/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a study

> One study in full: the summary fields plus the stored request (`input`) and computed study
(`result`) exactly as audited — note the documents can be large when the request embedded
custom hourly data. Partner-scoped like the list. Redacted studies return with `redactedAt`
set, the personal values scrubbed out of both documents, and no link. The PDF itself is at
`GET /api/v1/studies/{id}/pdf`.



## OpenAPI

````yaml /api-reference/swagger-partner.json get /api/v1/studies/{id}
openapi: 3.0.4
info:
  title: Partner API
  description: API for partner services
  version: v1
servers:
  - url: https://api.partner.cubee.cz
    description: Partnerý API server
security: []
tags:
  - name: Aggregated Data
  - name: Authentication
  - name: Calculator
  - name: CalculatorControllerV1
  - name: InvoiceExtraction
  - name: Public
  - name: Reference data
  - name: Studies
paths:
  /api/v1/studies/{id}:
    get:
      tags:
        - Studies
      summary: Get a study
      description: >-
        One study in full: the summary fields plus the stored request (`input`)
        and computed study

        (`result`) exactly as audited — note the documents can be large when the
        request embedded

        custom hourly data. Partner-scoped like the list. Redacted studies
        return with `redactedAt`

        set, the personal values scrubbed out of both documents, and no link.
        The PDF itself is at

        `GET /api/v1/studies/{id}/pdf`.
      operationId: Get Study
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StudyDetailModel'
              example:
                id: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                createdAt: '2026-02-13T09:41:00+00:00'
                annualSaving: 12095
                currency: CZK
                paybackYears: 1.7
                url: >-
                  https://api.partner.cubee.cz/api/v1/studies/3fa85f64-5717-4562-b3fc-2c963f66afa6/pdf
                studyLabel: Novákovi — rodinný dům 10 kWp
                externalUserId: eshop-user-8421
                recipientEmail: novakovi@example.cz
                recipientName: Jan Novák
                recipientPhone: '+420601123456'
                wantsContact: true
                origin: null
                redactedAt: null
                userId: null
                partnerId: 8d2f6f0a-4c3b-4a6e-9f2d-1b7c9e5a3d10
                input:
                  periodType: 12M
                  yearlyConsumptionKWh: 10000
                  totalKWp: 10
                  study:
                    label: Novákovi — rodinný dům 10 kWp
                  …: zkráceno — celý uložený požadavek
                result:
                  headlineYearlySaving: 12095
                  currency: CZK
                  …: zkráceno — celý uložený model studie
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
        - {}
components:
  schemas:
    StudyDetailModel:
      type: object
      properties:
        id:
          type: string
          description: The calculation id (also the stored PDF's blob name).
          format: uuid
        createdAt:
          type: string
          description: When it was generated (UTC).
          format: date-time
        annualSaving:
          type: number
          description: Headline yearly saving in Currency, if computed.
          format: double
          nullable: true
        currency:
          type: string
          description: ISO 4217 currency of the money amounts (currently always `"CZK"`).
          nullable: true
        paybackYears:
          type: number
          description: Payback in years, if computed.
          format: double
          nullable: true
        url:
          type: string
          description: >-
            Absolute URL of the public broker endpoint that redirects to the
            study PDF. Null once redacted (the stored PDF is deleted).
          nullable: true
        studyLabel:
          type: string
          description: >-
            The free-form label the study was created with, if any. Null once
            redacted.
          nullable: true
        externalUserId:
          type: string
          description: The caller's end-user id the study was tagged with, if any.
          nullable: true
        recipientEmail:
          type: string
          description: >-
            Who the study was e-mailed to, if it went out by e-mail. Null once
            redacted.
          nullable: true
        recipientName:
          type: string
          description: The recipient's full name, if supplied. Null once redacted.
          nullable: true
        recipientPhone:
          type: string
          description: The recipient's phone number, if supplied. Null once redacted.
          nullable: true
        wantsContact:
          type: boolean
          description: >-
            Whether the customer agreed to a follow-up contact (see the request
            field).
        origin:
          type: string
          description: Web origin of an embedded-calculator call, if any.
          nullable: true
        redactedAt:
          type: string
          description: When the calculation's personal data was erased; null for live rows.
          format: date-time
          nullable: true
        userId:
          type: string
          description: The console user who generated it; null for API-generated studies.
          format: uuid
          nullable: true
        partnerId:
          type: string
          description: The owning partner — always the caller's own.
          format: uuid
        input:
          description: The calculator request the study was generated from, as stored.
          nullable: true
        result:
          description: The computed study model, as stored.
          nullable: true
      additionalProperties: false
      description: >-
        One study in full: the summary fields plus the stored request (`input`)
        and computed
                    study (`result`) exactly as audited — the jsonb documents, which can be large when the request
                    embedded custom hourly data. Once redacted, the personal values inside both documents (cover
                    label/address, recipient, replication payload) are scrubbed; the calculation itself remains.

````