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

# List the partner's studies

> Returns the studies the calling API key's partner generated, newest first. Without parameters
this is the partner's whole history; narrow it with `externalUserId` (the id the study was
tagged with via the `X-Cubee-External-User` header — how an integrating site shows one
end-user their own history) and/or a `from`/`to` date range (inclusive, on the
generation date). Results are always scoped to the calling partner, so a caller only ever sees
studies it created. Each item links to `GET /api/v1/studies/{id}/pdf` and carries the study's
label, recipient, origin and end-user tag so a partner-wide list is tellable apart. Redacted
studies are included with `redactedAt` set — their personal fields are erased and
`url` is null (the stored PDF is deleted on redaction).



## OpenAPI

````yaml /api-reference/swagger-partner.json get /api/v1/studies
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:
    get:
      tags:
        - Studies
      summary: List the partner's studies
      description: >-
        Returns the studies the calling API key's partner generated, newest
        first. Without parameters

        this is the partner's whole history; narrow it with `externalUserId`
        (the id the study was

        tagged with via the `X-Cubee-External-User` header — how an integrating
        site shows one

        end-user their own history) and/or a `from`/`to` date range (inclusive,
        on the

        generation date). Results are always scoped to the calling partner, so a
        caller only ever sees

        studies it created. Each item links to `GET /api/v1/studies/{id}/pdf`
        and carries the study's

        label, recipient, origin and end-user tag so a partner-wide list is
        tellable apart. Redacted

        studies are included with `redactedAt` set — their personal fields are
        erased and

        `url` is null (the stored PDF is deleted on redaction).
      operationId: List Studies
      parameters:
        - name: externalUserId
          in: query
          description: Only studies tagged with this end-user id.
          schema:
            type: string
        - name: from
          in: query
          description: Only studies generated on this date or later.
          schema:
            type: string
            format: date
        - name: to
          in: query
          description: Only studies generated on this date or earlier.
          schema:
            type: string
            format: date
        - name: page
          in: query
          description: Page number for pagination (1-based).
          schema:
            type: integer
            format: int32
            default: 1
        - name: pageSize
          in: query
          description: Number of items per page (max 200).
          schema:
            type: integer
            format: int32
            default: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StudySummaryModelPagedList'
              example:
                totalCount: 2
                page: 1
                pageSize: 50
                items:
                  - 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
                  - id: 5c2a1e10-8a1b-4d3c-9f2e-1a2b3c4d5e6f
                    createdAt: '2026-01-30T14:12:00+00:00'
                    annualSaving: 6219
                    currency: CZK
                    paybackYears: 3.2
                    url: >-
                      https://api.partner.cubee.cz/api/v1/studies/5c2a1e10-8a1b-4d3c-9f2e-1a2b3c4d5e6f/pdf
                    studyLabel: Dvořáková — novostavba, zájem o FVE
                    externalUserId: eshop-user-9107
                    recipientEmail: dvorakova@example.cz
                    recipientName: null
                    recipientPhone: null
                    wantsContact: true
                    origin: https://partner.example.cz
                    redactedAt: null
                    userId: null
                    partnerId: 8d2f6f0a-4c3b-4a6e-9f2d-1b7c9e5a3d10
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/HttpValidationProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/HttpValidationProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/HttpValidationProblemDetails'
      security:
        - {}
components:
  schemas:
    StudySummaryModelPagedList:
      type: object
      properties:
        totalCount:
          type: integer
          format: int32
          example: 2
        page:
          type: integer
          format: int32
          example: 1
        pageSize:
          type: integer
          format: int32
          example: 50
        items:
          type: array
          items:
            $ref: '#/components/schemas/StudySummaryModel'
          nullable: true
          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
            - id: 5c2a1e10-8a1b-4d3c-9f2e-1a2b3c4d5e6f
              createdAt: '2026-01-30T14:12:00+00:00'
              annualSaving: 6219
              currency: CZK
              paybackYears: 3.2
              url: >-
                https://api.partner.cubee.cz/api/v1/studies/5c2a1e10-8a1b-4d3c-9f2e-1a2b3c4d5e6f/pdf
              studyLabel: Dvořáková — novostavba, zájem o FVE
              externalUserId: eshop-user-9107
              recipientEmail: dvorakova@example.cz
              recipientName: null
              recipientPhone: null
              wantsContact: true
              origin: https://partner.example.cz
              redactedAt: null
              userId: null
              partnerId: 8d2f6f0a-4c3b-4a6e-9f2d-1b7c9e5a3d10
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    HttpValidationProblemDetails:
      allOf:
        - $ref: '#/components/schemas/ProblemDetails'
        - type: object
          properties:
            errors:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
              nullable: true
          additionalProperties: {}
    StudySummaryModel:
      type: object
      properties:
        id:
          type: string
          description: The calculation id (also the stored PDF's blob name).
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        createdAt:
          type: string
          description: When it was generated (UTC).
          format: date-time
          example: '2026-02-13T09:41:00+00:00'
        annualSaving:
          type: number
          description: Headline yearly saving in Currency, if computed.
          format: double
          nullable: true
          example: 12095
        currency:
          type: string
          description: ISO 4217 currency of the money amounts (currently always `"CZK"`).
          nullable: true
          example: CZK
        paybackYears:
          type: number
          description: Payback in years, if computed.
          format: double
          nullable: true
          example: 1.7
        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
          example: >-
            https://api.partner.cubee.cz/api/v1/studies/3fa85f64-5717-4562-b3fc-2c963f66afa6/pdf
        studyLabel:
          type: string
          description: >-
            The free-form label the study was created with, if any. Null once
            redacted.
          nullable: true
          example: Novákovi — rodinný dům 10 kWp
        externalUserId:
          type: string
          description: The caller's end-user id the study was tagged with, if any.
          nullable: true
          example: eshop-user-8421
        recipientEmail:
          type: string
          description: >-
            Who the study was e-mailed to, if it went out by e-mail. Null once
            redacted.
          nullable: true
          example: novakovi@example.cz
        recipientName:
          type: string
          description: The recipient's full name, if supplied. Null once redacted.
          nullable: true
          example: Jan Novák
        recipientPhone:
          type: string
          description: The recipient's phone number, if supplied. Null once redacted.
          nullable: true
          example: '+420601123456'
        wantsContact:
          type: boolean
          description: >-
            Whether the customer agreed to a follow-up contact (see the request
            field).
          example: true
        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
          example: 8d2f6f0a-4c3b-4a6e-9f2d-1b7c9e5a3d10
      additionalProperties: false
      description: One item in a partner's study history.

````