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

# Sign a progress note

> Marks a progress note as reviewed and signed



## OpenAPI

````yaml api-reference/openapi.json put /v1/progress-notes/{id}/sign
openapi: 3.1.0
info:
  title: Nextvisit API
  description: API for the Nextvisit Clinical Documentation platform for developers
  version: 1.0.0
  termsOfService: https://nextvisit.com/terms/
  contact:
    name: Nextvisit, Inc.
    email: support@nextvisit.com
  license:
    name: Proprietary
    url: https://nextvisit.app/terms-of-service
servers:
  - url: https://nextvisit.app/api
    description: Production API
  - url: http://localhost/api
    description: Developer Proxy
security: []
tags:
  - name: Tokens
    description: >-
      User token management endpoints for secure access to the Nextvisit
      platform. Includes login, logout, and token management operations.
  - name: Progress Notes
    description: >-
      Clinical progress note management including creating, updating,
      retrieving, and signing notes with associated transcriptions and analyses.
  - name: Users
    description: >-
      User account management including profile updates, permission settings,
      role assignments, and practice affiliations.
paths:
  /v1/progress-notes/{id}/sign:
    parameters:
      - name: id
        in: path
        description: Progress note unique identifier
        required: true
        schema:
          type: integer
    put:
      tags:
        - Progress Notes
      summary: Sign a progress note
      description: Marks a progress note as reviewed and signed
      operationId: signProgressNote
      responses:
        '200':
          description: Progress note signed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgressNote'
        '400':
          description: >-
            Bad request - Cannot sign a note without completed transcription and
            analysis
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: >-
                      Cannot sign a progress note that does not have complete
                      transcription and analysis
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: Forbidden - User does not have permission to sign this progress note
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - bearerAuth: []
components:
  schemas:
    ProgressNote:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier for the progress note
          example: 123
        name:
          type: string
          description: Name or title of the progress note
          example: Follow-up Visit - Jane Doe
        transcription:
          type: string
          description: Transcribed content of the audio recording
          example: Patient reports improvement in symptoms since last visit...
        analysis:
          type: string
          description: AI-generated analysis of the transcription
          example: Patient's condition has improved with current treatment regimen...
        template:
          type: object
          properties:
            id:
              type: integer
              description: Template ID used for this note
              example: 5
            name:
              type: string
              description: Name of the template
              example: Standard Follow-up
            description:
              type: string
              description: Description of the template
              example: Standard template for routine follow-up visits
        patient:
          type: object
          description: Associated patient information
          properties:
            $ref: '#/components/schemas/Patient'
        audio:
          type: object
          properties:
            duration:
              type: number
              description: Duration of the audio in seconds
              example: 480
            bitrate:
              type: integer
              description: Bitrate of the audio file
              example: 128000
            size:
              type: integer
              description: Size of the audio file in bytes
              example: 7680000
            uploaded_at:
              type: string
              format: date-time
              description: When the audio was uploaded
              example: '2023-04-10T15:30:00Z'
            expires_at:
              type: string
              format: date-time
              description: When the audio file will expire
              example: '2023-05-10T15:30:00Z'
            file_url:
              type: string
              description: Temporary URL to access the audio file
              example: https://storage.nextvisit.app/encounters/abc123.mp3?token=xyz
        has:
          type: object
          properties:
            content:
              type: boolean
              description: Whether analysis has been completed
              example: true
            transcription:
              type: boolean
              description: Whether transcription has been completed
              example: true
            signed:
              type: boolean
              description: Whether the note has been reviewed and signed
              example: false
        team_id:
          type: integer
          description: ID of the team this note belongs to
          example: 5
        user_id:
          type: integer
          description: ID of the user who created this note
          example: 42
        user:
          type: object
          description: Information about the user who created the note
          properties:
            $ref: '#/components/schemas/User'
        transcription_started_at:
          type: string
          format: date-time
          description: When transcription process started
          example: '2023-04-10T15:35:00Z'
        transcription_completed_at:
          type: string
          format: date-time
          description: When transcription was completed
          example: '2023-04-10T15:40:00Z'
        analysis_started_at:
          type: string
          format: date-time
          description: When analysis process started
          example: '2023-04-10T15:40:00Z'
        analysis_completed_at:
          type: string
          format: date-time
          description: When analysis was completed
          example: '2023-04-10T15:45:00Z'
        error_state:
          type: string
          description: Any error state during processing
          example: null
        created_at:
          type: string
          format: date-time
          description: When the progress note was created
          example: '2023-04-10T15:30:00Z'
        updated_at:
          type: string
          format: date-time
          description: When the progress note was last updated
          example: '2023-04-10T15:45:00Z'
      required:
        - id
        - name
        - team_id
        - user_id
        - created_at
        - updated_at
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message
          example: Validation failed
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Detailed validation errors by field
          example:
            email:
              - The email must be a valid email address
              - The email has already been taken
            password:
              - The password must be at least 8 characters
            template_name:
              - This field is required
      required:
        - message
  responses:
    Unauthorized:
      description: Unauthorized access
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Unauthorized
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Resource not found
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````