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

# Update submission



## OpenAPI

````yaml patch /{version}/submissions/{submission}
openapi: 3.0.3
info:
  title: PERSCOM Personnel Management System API
  description: >-
    The PERSCOM API describes how to interact and manipulate your PERSCOM data
    available at https://perscom.io. The API provides a powerful interface to
    allow for third-party collaboration and integration with your PERSCOM
    Dashboard.
  termsOfService: https://perscom.io/privacy-policy
  contact:
    name: Deschutes Design Group LLC
    url: https://www.deschutesdesigngroup.com
    email: support@deschutesdesigngroup.com
  version: v2
servers:
  - url: https://api.perscom.io
    description: Production Environment
  - url: https://api.staging.perscom.io
    description: Staging Environment
security:
  - ApiKey: []
tags:
  - name: Me
    description: API documentation for the Current User
  - name: Announcements
    description: API documentation for Announcements
  - name: Assignment Records
    description: API documentation for Assignment Records
  - name: Attachments
    description: API documentation for Attachments
  - name: Awards
    description: API documentation for Awards
  - name: Awards Image
    description: API documentation for Awards Image
  - name: Award Records
    description: API documentation for Award Records
  - name: Calendars
    description: API documentation for Calendars
  - name: Categories
    description: API documentation for Categories
  - name: Categories Awards
    description: API documentation for Categories Awards
  - name: Categories Documents
    description: API documentation for Categories Documents
  - name: Categories Forms
    description: API documentation for Categories Forms
  - name: Categories Qualifications
    description: API documentation for Categories Qualifications
  - name: Categories Ranks
    description: API documentation for Categories Ranks
  - name: Combat Records
    description: API documentation for Combat Records
  - name: Comments
    description: API documentation for Comments
  - name: Documents
    description: API documentation for Documents
  - name: Events
    description: API documentation for Events
  - name: Events Image
    description: API documentation for Events Image
  - name: Forms
    description: API documentation for Forms
  - name: Forms Fields
    description: API documentation for Forms Fields
  - name: Forms Submissions
    description: API documentation for Forms Submissions
  - name: Groups
    description: API documentation for Groups
  - name: Groups Image
    description: API documentation for Groups Image
  - name: Images
    description: API documentation for Images
  - name: Messages
    description: API documentation for Messages
  - name: Newsfeed
    description: API documentation for Newsfeed
  - name: Newsfeed Likes
    description: API documentation for Newsfeed Likes
  - name: Positions
    description: API documentation for Positions
  - name: Qualifications
    description: API documentation for Qualifications
  - name: Qualifications Image
    description: API documentation for Qualifications Image
  - name: Qualification Records
    description: API documentation for Qualification Records
  - name: Ranks
    description: API documentation for Ranks
  - name: Ranks Image
    description: API documentation for Ranks Image
  - name: Rank Records
    description: API documentation for Rank Records
  - name: Roster
    description: API documentation for Roster
  - name: Service Records
    description: API documentation for Service Records
  - name: Training Records
    description: API documentation for Training Records
  - name: Settings
    description: API documentation for Settings
  - name: Specialties
    description: API documentation for Specialties
  - name: Statuses
    description: API documentation for Statuses
  - name: Submissions
    description: API documentation for Submissions
  - name: Submissions Statuses
    description: API documentation for Submissions Statuses
  - name: Tasks
    description: API documentation for Tasks
  - name: Units
    description: API documentation for Units
  - name: Units Image
    description: API documentation for Units Image
  - name: Users
    description: API documentation for Users
  - name: Users Assignment Records
    description: API documentation for Users Assignment Records
  - name: Users Award Records
    description: API documentation for Users Award Records
  - name: Users Combat Records
    description: API documentation for Users Combat Records
  - name: Users Qualification Records
    description: API documentation for Users Qualification Records
  - name: Users Rank Records
    description: API documentation for Users Rank Records
  - name: Users Service Records
    description: API documentation for Users Service Records
  - name: Users Position
    description: API documentation for Users Position
  - name: Users Rank
    description: API documentation for Users Rank
  - name: Users Specialty
    description: API documentation for Users Specialty
  - name: Users Unit
    description: API documentation for Users Unit
  - name: Users Status
    description: API documentation for Users Status
  - name: Users Attachments
    description: API documentation for Users Attachments
  - name: Users Fields
    description: API documentation for Users Fields
  - name: Users Status Records
    description: API documentation for Users Status Records
  - name: Users Tasks
    description: API documentation for Users Tasks
paths:
  /{version}/submissions/{submission}:
    patch:
      tags:
        - Submissions
      summary: Update submission
      parameters:
        - schema:
            type: string
            enum:
              - v1
              - v2
            default: v2
          name: version
          in: path
          required: true
          description: The API version to use.
        - schema:
            type: integer
          name: submission
          in: path
          required: true
        - schema:
            type: string
            enum:
              - comments
              - comments.*
              - form
              - form.*
              - user
              - user.*
              - statuses
              - statuses.record
          name: include
          in: query
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Submission'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/SubmissionResource'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/401Error'
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/402Error'
        '403':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/403Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/404Error'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/422Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/429Error'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/503Error'
components:
  schemas:
    Submission:
      title: Submission
      type: object
      additionalProperties: true
      required:
        - form_id
        - user_id
      properties:
        form_id:
          type: integer
        user_id:
          type: integer
    SubmissionResource:
      title: SubmissionResource
      additionalProperties: true
      allOf:
        - type: object
          properties:
            id:
              type: integer
        - $ref: '#/components/schemas/Submission'
        - $ref: '#/components/schemas/Label'
        - $ref: '#/components/schemas/Dates'
    401Error:
      title: 401 Error
      type: object
      properties:
        message:
          type: string
          example: >-
            You are not authenticated. Please provide a valid API key that
            contains your PERSCOM ID to continue.
        type:
          type: string
          example: AuthenticationException
        request_id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        trace_id:
          type: string
          format: uuid
          example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
    402Error:
      title: 402 Error
      type: object
      properties:
        message:
          type: string
          example: A valid subscription is required to complete this request.
        type:
          type: string
          example: HttpException
        request_id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        trace_id:
          type: string
          format: uuid
          example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
    403Error:
      title: 403 Error
      type: object
      properties:
        message:
          type: string
          example: >-
            The API key provided does not have the correct permissions and/or
            scopes to perform the requested action.
        type:
          type: string
          example: HttpException
        request_id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        trace_id:
          type: string
          format: uuid
          example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
    404Error:
      title: 404 Error
      type: object
      properties:
        message:
          type: string
          example: The requested resource or endpoint could not be found.
        type:
          type: string
          example: NotFoundHttpException
        request_id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        trace_id:
          type: string
          format: uuid
          example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
    422Error:
      title: 422 Error
      type: object
      properties:
        message:
          type: string
          example: The [field] is [required|invalid|etc].
        type:
          type: string
          example: ValidationException
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          example:
            email:
              - The email field is required.
              - The email must be a valid email address.
            password:
              - The password must be at least 8 characters.
              - The password must contain at least one uppercase letter.
        request_id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        trace_id:
          type: string
          format: uuid
          example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
    429Error:
      title: 429 Error
      type: object
      properties:
        message:
          type: string
          example: >-
            You have exceeded the API rate limit. Please wait a minute before
            trying again.
        type:
          type: string
          example: ThrottleRequestsException
        request_id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        trace_id:
          type: string
          format: uuid
          example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
    503Error:
      title: 503 Error
      type: object
      properties:
        message:
          type: string
          example: The API is currently down for maintenance. Please check back later.
        type:
          type: string
          example: HttpException
        request_id:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        trace_id:
          type: string
          format: uuid
          example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
    Label:
      title: Label
      type: object
      properties:
        label:
          type: string
    Dates:
      title: Dates
      type: object
      properties:
        created_at:
          type: string
          description: The date the resource was created. Stored in UTC.
          format: date-time
        updated_at:
          type: string
          description: The date the resource was updated. Stored in UTC.
          format: date-time
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer

````