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

# Update Course Offering

> Replaces the full course offering configuration with the provided payload.<br/><br/>All required fields (`title`, `matchStrings`) must be provided.



## OpenAPI

````yaml https://api.dev.smarterproctoring.com/openapi.json put /v1/installs/{installSid}/courseOfferings/{offeringSid}
openapi: 3.0.0
info:
  title: SmarterProctoring API
  version: 3.0.3
  description: API documentation for SmarterProctoring
servers:
  - url: https://api.smarterproctoring.com
security:
  - client: []
tags:
  - name: App Install
    description: App Install operations
    x-group: App Install
  - name: Course
    description: Course operations
    x-group: Course
  - name: Course Offering
    description: Course Offering operations
    x-group: Course Offering
  - name: Exam
    description: Exam operations
    x-group: Exam
  - name: Exam Configuration
    description: Exam Configuration operations
    x-group: Exam Configuration
  - name: Exam Events
    description: Exam Events operations
    x-group: Exam Events
  - name: Exam Session
    description: Exam Session operations
    x-group: Exam Session
  - name: Exam Session Annotation
    description: Exam Session Annotation operations
    x-group: Exam Session Annotation
  - name: Exam Session Event
    description: Exam Session Event operations
    x-group: Exam Session Event
  - name: Onboarding
    description: Onboarding operations
    x-group: Onboarding
  - name: Provision
    description: Provision operations
    x-group: Provision
  - name: Reports
    description: Reports operations
    x-group: Reports
  - name: Time Zones
    description: Time Zones operations
    x-group: Time Zones
  - name: User
    description: User operations
    x-group: User
paths:
  /v1/installs/{installSid}/courseOfferings/{offeringSid}:
    put:
      tags:
        - Course Offering
      summary: Update Course Offering
      description: >-
        Replaces the full course offering configuration with the provided
        payload.<br/><br/>All required fields (`title`, `matchStrings`) must be
        provided.
      operationId: putV1InstallsInstallsidCourseofferingsOfferingsid
      parameters:
        - name: installSid
          in: path
          schema:
            type: string
            description: >-
              Unique SID of the application install. Pattern: `AI` + 32 hex
              chars.
            example: AI1234567890abcdef1234567890abcdef
            pattern: ^AI[a-f0-9]{32}$
          description: 'Unique SID of the application install. Pattern: `AI` + 32 hex chars.'
          required: true
        - name: offeringSid
          in: path
          schema:
            type: string
            description: >-
              Unique SID of the course offering to update. Pattern: `CO` + 32
              hex chars.
            example: CO1234567890abcdef1234567890abcdef
            pattern: ^CO[a-f0-9]{32}$
          description: >-
            Unique SID of the course offering to update. Pattern: `CO` + 32 hex
            chars.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CourseOfferingUpdate'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseOfferingResponse'
components:
  schemas:
    CourseOfferingUpdate:
      type: object
      description: Update course offering payload
      properties:
        title:
          type: string
          description: Human-readable title for the course offering.
          example: Fall 2024
        matchStrings:
          type: string
          description: >-
            Comma-separated list of text patterns used to automatically match
            incoming LMS courses to this offering.
          example: Fall 2024,FA24
        startDate:
          type: string
          description: Start Date
          example: '1970-01-01T00:00:00.000Z'
          nullable: true
          pattern: .*Z
          x-format:
            isoDate: true
        endDate:
          type: string
          description: End Date
          example: '1970-01-01T00:00:00.000Z'
          nullable: true
          pattern: .*Z
          x-format:
            isoDate: true
      required:
        - title
        - matchStrings
    CourseOfferingResponse:
      type: object
      properties:
        sid:
          type: string
          description: Course offering SID
          nullable: true
        lastActivityDate:
          type: string
          description: Last activity date
          nullable: true
        title:
          type: string
          description: Offering title
          nullable: true
        matchStrings:
          $ref: '#/components/schemas/matchStrings'
        startDate:
          type: string
          description: Start date
          nullable: true
        endDate:
          type: string
          description: End date
          nullable: true
        createdDate:
          type: string
          description: Created date
          nullable: true
        editDate:
          type: string
          description: Last modified date
          nullable: true
    matchStrings:
      type: array
      description: Match strings for auto-matching
      nullable: true
      items:
        type: string
  securitySchemes:
    client:
      type: apiKey
      name: token
      in: header

````