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

# Post v1generation templatesrecipes



## OpenAPI

````yaml /openapi.json post /v1/generation-templates/recipes
openapi: 3.1.0
info:
  title: Lighthouse API
  description: Lighthouse funeral home management API
  license:
    name: ''
  version: 1.0.0
servers:
  - url: https://api.lighthousefh.com
    description: Production
security:
  - bearer_auth: []
tags:
  - name: Health
    description: Health check endpoints
  - name: Cases
    description: Case management
  - name: Calls
    description: Call recordings and transcriptions
  - name: Clips
    description: Short audio clips and transcripts
  - name: Users
    description: User management
  - name: Organizations
    description: Organization management
  - name: Locations
    description: Location management
  - name: Case Data
    description: Custom case data values
  - name: Case Data Fields
    description: Custom case data field definitions
  - name: Generations
    description: User-sourced generation overrides
  - name: Generation Templates
    description: AI generation templates
  - name: Generation Feedback
    description: End-user feedback on generations
  - name: Generation Labels
    description: Generation quality labels
  - name: Generation Quality Test
    description: Generation quality testing
  - name: Generation Template Dependencies
    description: Template dependency management
  - name: Organization Template Status
    description: Organization-level template status
  - name: Score Instructions
    description: Score instructions for generation templates
  - name: Tasks
    description: Case tasks
  - name: Conversations
    description: Assistant chat conversations
  - name: User Preferences
    description: User preference settings
  - name: User Managers
    description: User-manager relationships
  - name: User Permissions
    description: User permission management
  - name: Roleplay Categories
    description: Roleplay category (skill) catalog
  - name: Roleplay Complications
    description: Roleplay complications catalog
  - name: Roleplay Personas
    description: Roleplay persona catalog
  - name: Roleplay Phases
    description: Roleplay phase catalog
  - name: Roleplay Runs
    description: Completed roleplay runs
  - name: Roleplay Scenarios
    description: Roleplay scenarios
  - name: Roleplay Voices
    description: Roleplay voice catalog
  - name: Scenario Score Templates
    description: Scenario scoring template attachments
paths:
  /v1/generation-templates/recipes:
    post:
      tags:
        - Generation Templates
      operationId: create_recipes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRecipesRequest'
        required: true
      responses:
        '201':
          description: Recipes created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_Vec_GenerationTemplate'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - bearer_auth: []
components:
  schemas:
    CreateRecipesRequest:
      type: object
      required:
        - template
      properties:
        location_uuids:
          type: array
          items:
            type: string
            format: uuid
        template:
          $ref: '#/components/schemas/CreateGenerationTemplateRequest'
        user_uuids:
          type: array
          items:
            type: string
            format: uuid
    ApiResponse_Vec_GenerationTemplate:
      type: object
      required:
        - status
        - timestamp
      properties:
        data:
          type: array
          items:
            type: object
            required:
              - uuid
              - label
              - display_name
              - created_by
              - instructions
              - development_stage
              - display_config
              - execution_type
              - allows_multiple_generations
              - is_user_specific
              - execution_params
            properties:
              allows_multiple_generations:
                type: boolean
              authorization_layer_entity_uuid:
                type:
                  - string
                  - 'null'
                format: uuid
              call_types:
                type:
                  - array
                  - 'null'
                items:
                  $ref: '#/components/schemas/CallType'
                description: Call types this template applies to. `None` = all call types.
              created_at:
                type:
                  - string
                  - 'null'
                format: date-time
              created_by:
                type: string
                format: uuid
              deleted_at:
                type:
                  - string
                  - 'null'
                format: date-time
              deleted_by:
                type:
                  - string
                  - 'null'
                format: uuid
              development_stage:
                $ref: '#/components/schemas/DevelopmentStage'
              display_config:
                type: array
                items:
                  $ref: '#/components/schemas/DisplayConfig'
              display_name:
                type: string
              exact_phrases:
                type:
                  - array
                  - 'null'
                items:
                  $ref: '#/components/schemas/ExactPhrase'
              example_limit:
                type:
                  - integer
                  - 'null'
                format: int32
              execution_params:
                $ref: '#/components/schemas/ExecutionParams'
              execution_type:
                $ref: '#/components/schemas/ExecutionType'
              instructions:
                type: string
              is_user_specific:
                type: boolean
              label:
                type: string
              location_uuid:
                type:
                  - string
                  - 'null'
                format: uuid
              organization_uuid:
                type:
                  - string
                  - 'null'
                format: uuid
              scoring_strategy:
                oneOf:
                  - type: 'null'
                  - $ref: '#/components/schemas/ScoringStrategy'
              static_generations:
                type:
                  - array
                  - 'null'
                items:
                  $ref: '#/components/schemas/StaticGeneration'
              updated_at:
                type:
                  - string
                  - 'null'
                format: date-time
              updated_by:
                type:
                  - string
                  - 'null'
                format: uuid
              uuid:
                type: string
                format: uuid
        message:
          type:
            - string
            - 'null'
        request_id:
          type:
            - string
            - 'null'
        status:
          type: string
        timestamp:
          type: string
          format: date-time
    ApiError:
      type: object
      required:
        - status
        - error
        - message
        - status_code
        - timestamp
      properties:
        error:
          type: string
        message:
          type: string
        request_id:
          type:
            - string
            - 'null'
        status:
          type: string
        status_code:
          type: integer
          format: int32
          minimum: 0
        timestamp:
          type: string
          format: date-time
    CreateGenerationTemplateRequest:
      type: object
      required:
        - label
        - display_name
        - instructions
        - development_stage
        - execution_type
        - display_config
      properties:
        authorization_layer_entity_uuid:
          type:
            - string
            - 'null'
          format: uuid
        call_types:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/CallType'
        development_stage:
          $ref: '#/components/schemas/DevelopmentStage'
        display_config:
          type: array
          items:
            $ref: '#/components/schemas/DisplayConfig'
        display_name:
          type: string
        exact_phrases:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/ExactPhrase'
        example_limit:
          type:
            - integer
            - 'null'
          format: int32
        execution_params:
          $ref: '#/components/schemas/ExecutionParams'
        execution_type:
          $ref: '#/components/schemas/ExecutionType'
        instructions:
          type: string
        is_user_specific:
          type: boolean
        label:
          type: string
        location_uuid:
          type:
            - string
            - 'null'
          format: uuid
        organization_uuid:
          type:
            - string
            - 'null'
          format: uuid
        scoring_strategy:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ScoringStrategy'
        static_generations:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/StaticGenerationInput'
    CallType:
      type: string
      enum:
        - at_need_arrangement
        - pre_need_arrangement
    DevelopmentStage:
      type: string
      enum:
        - testing
        - live
    DisplayConfig:
      type: object
      required:
        - location
        - group
      properties:
        group:
          $ref: '#/components/schemas/Group'
        group_descendants:
          type:
            - boolean
            - 'null'
        location:
          $ref: '#/components/schemas/Location'
        occurring_is_positive:
          type:
            - boolean
            - 'null'
    ExactPhrase:
      type: object
      required:
        - phrase
        - match_percentage
      properties:
        match_percentage:
          type: number
          format: double
        phrase:
          type: string
    ExecutionParams:
      type: object
      properties:
        obituary:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ObituaryParams'
    ExecutionType:
      type: string
      enum:
        - summary
        - data_extraction
        - occurred_with_examples
        - is_true
        - insight_summary
        - obituary
        - task
    ScoringStrategy:
      oneOf:
        - type: object
          required:
            - strategy
          properties:
            strategy:
              type: string
              enum:
                - binary
        - type: object
          required:
            - chunk_minutes
            - strategy
          properties:
            chunk_minutes:
              type: integer
              format: int32
              minimum: 0
            strategy:
              type: string
              enum:
                - chunk_occurrence_ratio
    StaticGeneration:
      type: object
      required:
        - uuid
        - content
      properties:
        assignee_description:
          type:
            - string
            - 'null'
        content:
          type: string
        uuid:
          type: string
          format: uuid
    StaticGenerationInput:
      type: object
      required:
        - content
      properties:
        assignee_description:
          type:
            - string
            - 'null'
        content:
          type: string
        uuid:
          type:
            - string
            - 'null'
          format: uuid
    Group:
      type: string
      enum:
        - summary
        - template
        - present
        - connect
        - trust
        - understanding_the_why
        - the_close
        - meaningful_questions
        - arrangement_presence
        - death_certificate
        - funeral_service
        - contract_details
        - disposition
        - internal
        - arrangement_insight_summary
        - action_item
        - inputs
        - obituary
        - task
        - live_call
    Location:
      type: string
      enum:
        - summary
        - insight
        - template
        - case_data
        - internal
        - arrangement_insight
        - action_item
        - obituary
        - task
        - live_call
    ObituaryParams:
      type: object
      required:
        - tone
        - obituary_type
      properties:
        obituary_type:
          $ref: '#/components/schemas/ObituaryType'
        tone:
          $ref: '#/components/schemas/ObituaryTone'
    ObituaryType:
      type: string
      enum:
        - standard
        - newspaper
    ObituaryTone:
      type: string
      enum:
        - faith_based
        - respectful
        - professional
        - loving
        - reflective
        - formal
        - light_hearted
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer

````