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

# Generate Report

> Start backend report creation from a template ID and note IDs. If the template contains prompt nodes, the backend generates those sections from the supplied notes. If the template contains no prompt nodes, the backend saves the template content directly as a report. The response returns a job_id immediately; poll GET /v1/public/jobs/{job_id} until the job completes.



## OpenAPI

````yaml /developer-docs/api/openapi.json post /v1/public/clients/{client_id}/reports/generate
openapi: 3.1.0
info:
  title: Everbility Public API
  version: 1.0.0
  description: >-
    Pull reports from Everbility, upload notes and files, poll asynchronous
    jobs, and generate reports from saved templates. Partner endpoints let
    approved platforms connect practices with OAuth 2.0, launch report-writing
    sessions, receive signed lifecycle webhooks, and retrieve completed
    documents.
servers:
  - url: https://api.everbility.com
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/public/clients/{client_id}/reports/generate:
    post:
      tags:
        - public
      summary: Generate Report
      description: >-
        Start backend report creation from a template ID and note IDs. If the
        template contains prompt nodes, the backend generates those sections
        from the supplied notes. If the template contains no prompt nodes, the
        backend saves the template content directly as a report. The response
        returns a job_id immediately; poll GET /v1/public/jobs/{job_id} until
        the job completes.
      operationId: generate_report_v1_public_clients__client_id__reports_generate_post
      parameters:
        - name: client_id
          in: path
          required: true
          schema:
            type: integer
            title: Client Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalGenerateReportInput'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalJobQueuedResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - bearerAuth: []
components:
  schemas:
    ExternalGenerateReportInput:
      properties:
        template_id:
          type: string
          title: Template Id
        note_ids:
          items:
            type: string
          type: array
          title: Note Ids
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
      type: object
      required:
        - template_id
        - note_ids
      title: ExternalGenerateReportInput
    ExternalJobQueuedResponse:
      properties:
        job_id:
          type: string
          title: Job Id
      type: object
      required:
        - job_id
      title: ExternalJobQueuedResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Use a Clerk-backed Everbility user or organisation API key directly as
        the bearer token.

````