Veterans Affairs Messaging API

The Messaging API from Veterans Affairs — 20 operation(s) for messaging.

OpenAPI Specification

va-messaging-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Appealable Issues Messaging API
  version: v0
  contact:
    name: developer.va.gov
  description: "The Appealable Issues API lets you retrieve a list of a claimant’s appealable issues and any chains of preceding issues. Appealable issues are issues from claims about which VA has made a decision that may be eligible for appeal. Not all appealable issues are guaranteed to be eligible for appeal; for example, claimants may have another appeal in progress for an issue.\n\nTo check the status of all decision reviews and appeals for a specified individual, use the [Appeals Status API](https://developer.va.gov/explore/api/appeals-status/docs).\n\nTo file an appeal or decision review, use one of these APIs: \n* [Higher-Level Reviews API](https://developer.va.gov/explore/api/higher-level-reviews/docs)\n* [Notice of Disagreements API](https://developer.va.gov/explore/api/notice-of-disagreements/docs)\n* [Supplemental Claims API](https://developer.va.gov/explore/api/supplemental-claims/docs)\n\n## Technical overview\nThe Appealable Issues API pulls data from Caseflow, a case management system. It provides decision review and appeal data that can be used for submitting a Higher Level Review, Notice of Disagreement, or Supplemental Claim.\n\n### Authorization and Access\nThe authentication model for the Appealable Issues API uses OAuth 2.0/OpenID Connect. The following authorization models are supported:\n* [Authorization code flow](https://developer.va.gov/explore/api/appealable-issues/authorization-code)\n* [Client Credentials Grant (CCG)](https://developer.va.gov/explore/api/appealable-issues/client-credentials)\n\n**Important:** To get production access using client credentials grant, you must either work for VA or have specific VA agreements in place. If you have questions, [contact us](https://developer.va.gov/support/contact-us).\n\n### Test data\n\nOur sandbox environment is populated with [Veteran test data](https://github.com/department-of-veterans-affairs/vets-api-clients/blob/master/test_accounts/appealable_issues_test_accounts.md) that can be used to test various response scenarios. This sandbox data contains no PII or PHI, but mimics real Veteran account information.\n"
servers:
- url: https://sandbox-api.va.gov/services/appeals/appealable-issues/{version}
  description: VA.gov API sandbox environment
  variables:
    version:
      default: v0
- url: https://api.va.gov/services/appeals/appealable-issues/{version}
  description: VA.gov API production environment
  variables:
    version:
      default: v0
tags:
- name: Messaging
paths:
  /v1/messaging/folders:
    get:
      description: List available secure messaging folders
      operationId: get_folders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessagingFolders.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/folders
      tags:
      - Messaging
  /v1/messaging/folders/{id}:
    get:
      description: Get a secure messaging folder
      operationId: get_folder
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessagingFolder.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/folders/{id}
      tags:
      - Messaging
    put:
      description: Rename an existing folder
      operationId: post_rename_folder
      requestBody:
        content:
          application/json:
            schema:
              example:
                name: New Name for Folder
              type: object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessagingFolder.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/folders/{id}
      tags:
      - Messaging
  /v1/messaging/folders/{id}/threads:
    get:
      description: List threads in a secure messaging folder.
      operationId: get_folder_threads
      parameters:
      - description: The id of the folder that threads are being retrieved from
        in: path
        name: folderId
        required: true
        schema:
          type: string
      - description: The size of the pagination you want
        in: query
        name: pageSize,
        required: true
        schema:
          type: string
      - description: The page number to get based on your page size
        in: query
        name: pageNumber,
        required: true
        schema:
          type: string
      - description: The field to sort the results by
        in: query
        name: sortField,
        required: true
        schema:
          type: string
          enum:
          - SENDER_NAME
          - RECIPIENT_NAME
          - SENT_DATE
          - DRAFT_DATE
      - description: The order to sort the results by
        in: query
        name: sortOrder,
        required: true
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - $ref: '#/components/parameters/InflectionHeader'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageThreadList.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/folders/{id}/threads
      tags:
      - Messaging
  /v1/messaging/folders/{id}/search:
    post:
      description: 'Search messages in a secure messaging folder. If multiple search criteria are specified, each returned search

        result will match ALL criteria. Pagination is supported and is handled by the upstream MHV server.


        When listing messages, the response for each message will include most but not all of the message attributes.

        Specifically, the message body and attachment information is not included. Those attributes can be obtained by

        getting the specific message resource.

        '
      operationId: search_folder
      parameters:
      - description: The page of results to be returned (passed through to MHV API)
        in: query
        name: page
        required: false
        schema:
          type: integer
          default: 1
      - description: The number of results per page (passed through to MHV API)
        in: query
        name: per_page,
        required: false
        schema:
          type: integer
          default: 250
      - $ref: '#/components/parameters/InflectionHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./schemas/SecureMessageSearchRequest.yml
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageSearch.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/folders/{id}/search
      tags:
      - Messaging
  /v1/messaging/message_drafts:
    post:
      description: Save a new draft message
      operationId: post_create_message_draft
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./schemas/SecureMessageNewMessageRequest.yml
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageNewMessageRequest.yml
          description: Created
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/message_drafts
      parameters:
      - $ref: '#/components/parameters/InflectionHeader'
      tags:
      - Messaging
  /v1/messaging/message_drafts/{id}:
    put:
      description: Update an existing draft message
      operationId: post_create_message_draft
      parameters:
      - description: The id of the draft that is to be updated
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/InflectionHeader'
      requestBody:
        content:
          application/json:
            schema:
              example:
                body: the updated message
              type: object
        required: true
      responses:
        '204':
          description: No Content
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/message_drafts/{id}
      tags:
      - Messaging
  /v1/messaging/message_drafts/{reply_id}/replydraft:
    post:
      description: Save a new draft message as a reply to an existing message
      operationId: post_create_message_draft_reply
      parameters:
      - description: The id of the message that will be replied to
        in: path
        name: reply_id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/InflectionHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./schemas/SecureMessageNewMessageRequest.yml
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageNewMessageRequest.yml
          description: Created
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/message_drafts/{reply_id}/replydraft
      tags:
      - Messaging
  /v1/messaging/message_drafts/{reply_id}/replydraft/{draft_id}:
    post:
      description: Edit a draft message that was a reply to an existing message
      operationId: post_create_message_draft_reply
      parameters:
      - description: The id of the message that will be replied to
        in: path
        name: reply_id
        required: true
        schema:
          type: string
      - description: The id of the draft that is to be updated
        in: path
        name: draft_id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/InflectionHeader'
      requestBody:
        content:
          application/json:
            schema:
              example:
                body: the updated message
              type: object
        required: true
      responses:
        '204':
          description: No Content
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/message_drafts/{reply_id}/replydraft/{draft_id}
      tags:
      - Messaging
  /v1/messaging/messages:
    post:
      description: 'Send a new secure message. When `prescription_id` is included in the request body,

        the message is routed to the upstream MHV `POST message/renewal` endpoint for

        prescription renewal messages.

        '
      operationId: post_create_message
      parameters:
      - description: Indicates if this message is for an OH triage group (allows larger attachments)
        in: query
        name: is_oh_triage_group
        required: false
        schema:
          type: boolean
      - $ref: '#/components/parameters/InflectionHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./schemas/SecureMessageNewMessageRequest.yml
          multipart/form-data:
            schema:
              properties:
                message:
                  description: Stringified JSON with same parameters as if this was an application/json request (e.g. '{"category":"OTHER","recipient_id":1763526,"body":"test message"}')
                  type: string
                uploads[]:
                  description: 'One or more message attachments.


                    <strong>NOTES:</strong>

                    <ul>

                    <li>A single message may have a maximum of 4 attachments (10 for OH triage groups).</li>

                    <li>A single attachment cannot exceed 6 MB (25 MB for OH triage groups)</li>

                    <li>All attachments combined cannot exceed 10 MB (25 MB for OH triage groups)</li>

                    <li>Supported file types/extensions: DOC, DOCX, GIF, JPG, JPEG, PDF, PNG, RTF, TXT, XLS, XLSX, JFIF, PJPEG, PJP (OH triage groups also support: BMP, TIFF, TIF, PPT, PPTX, PPS, PPSX, ODT, MP4, M4V, MOV, WMV, MPG).</li>

                    </ul>

                    '
                  items:
                    format: binary
                    type: string
                  type: array
              type: object
        description: "New message body.\n\n<strong>NOTES:</strong>\n<ul>\n  <li>If a subject isn't included, default subject will be \"{{Category}} Inquiry\" (e.g. Medication Inquiry)</li>\n  <li>Messages can only be replied to for 45 days.  After that, the message is considered \"expired\"</li>\n  <li>If sending a draft, include the draft's ID in the request body as `draft_id`. Draft will be deleted once sent. Any fields included in request body will overwrite original draft contents.\n  <li>If including file attachments, this request must be sent as <i>multipart/form-data</i></li>\n  <li>\n    File attachment restrictions (as imposed by MHV):\n    <ul>\n      <li>User may attach up to 4 files (10 files for OH triage groups)</li>\n      <li>Single attachment cannot exceed 6 MB (25 MB for OH triage groups)</li>\n      <li>Total attachment cannot exceed 10 MB (25 MB for OH triage groups)</li>\n      <li>Accepted formats: DOC, DOCX, GIF, JPG, JPEG, PDF, PNG, RTF, TXT, XLS, XLSX, JFIF, PJPEG, PJP (OH triage groups also support: BMP, TIFF, TIF, PPT, PPTX, PPS, PPSX, ODT, MP4, M4V, MOV, WMV, MPG)</li>\n    </ul>\n  </li>\n</ul>\n"
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageDetail.yml
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: 'Bad Request - Oracle Health message send failed. This can occur when:

            - Message status polling returns FAILED or INVALID status

            - Error code SM98 will be returned in the response'
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
        '422':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: 'Unprocessable Entity - Validation failed for one or more message fields

            (for example, missing or empty `body`), as defined by the request schema.

            '
      summary: /v1/messaging/messages
      tags:
      - Messaging
  /v1/messaging/messages/categories:
    get:
      description: List available message categories
      operationId: get_categories
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageCategories.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/messages/categories
      parameters:
      - $ref: '#/components/parameters/InflectionHeader'
      tags:
      - Messaging
  /v1/messaging/messages/oh_sync_status:
    get:
      description: Get the Oracle Health sync status
      operationId: get_oh_sync_status
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/OhSyncStatus.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
        '502':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Bad Gateway - upstream service error
      summary: /v1/messaging/messages/oh_sync_status
      parameters:
      - $ref: '#/components/parameters/InflectionHeader'
      tags:
      - Messaging
  /v1/messaging/messages/{id}:
    delete:
      description: Moves a secure message to the "Deleted" folder
      operationId: delete_message
      parameters:
      - description: The id of the message that is to be deleted
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/InflectionHeader'
      responses:
        '204':
          description: The message was deleted successfully
        '400':
          content:
            application/json:
              example:
                errors:
                - code: SM114
                  detail: Unable to move message
                  status: '400'
                  title: Operation failed
              schema:
                $ref: ./schemas/Errors.yml
          description: Bad Request
        '401':
          content:
            application/json:
              example:
                errors:
                - code: '401'
                  detail: IAM user session is inactive
                  status: '401'
                  title: Not authorized
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                errors:
                - code: '403'
                  detail: You do not have access to messaging
                  status: '403'
                  title: Forbidden
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/messages/{id}
      tags:
      - Messaging
    get:
      description: "Get a secure message <strong>and mark the message as read</strong>.\n\n<strong>NOTES:</strong>\n<ul>\n  <li>Unlike listing messages in a folder, the message resource returned from this operation will include\nthe message body and attachment information.</li>\n  <li>This GET operation is not fully idempotent and will set readReceipt field as 'READ'</li>\n  <li>If message has an attachment included, attachmentSize is displayed in bytes</li>\n</ul>\n"
      operationId: get_message
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageDetail.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/messages/{id}
      parameters:
      - $ref: '#/components/parameters/InflectionHeader'
      tags:
      - Messaging
    patch:
      description: Moves a secure message to a specified folder
      operationId: post_move_message
      parameters:
      - description: The id of the message that is to be moved
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: The id of the folder that the message is to be moved to
        in: query
        name: folder_id,
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/InflectionHeader'
      responses:
        '204':
          description: The message was moved successfully
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/messages/{id}/move
      tags:
      - Messaging
  /v1/messaging/messages/{id}/attachments/{attachment_id}:
    get:
      description: 'Get a secure message attachment content as a direct binary download. Secure messaging supports the following file types/extensions: doc, docx, gif, jpg, pdf, png, rtf, txt, xls, xlsx.

        '
      operationId: get_attachment
      parameters:
      - description: ID of the message that we are retrieving attachments of
        in: path
        name: id
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/InflectionHeader'
      responses:
        '200':
          content:
            application/octet-stream:
              schema:
                format: binary
                type: string
          description: OK
          headers:
            Content-Disposition:
              description: 'This header will have the value of "attachment", and a "filename" parameter containing the original filename of the attached content.

                '
              schema:
                type: string
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/messages/{id}/attachments/{attachment_id}
      tags:
      - Messaging
  /v1/messaging/messages/{id}/reply:
    post:
      description: "Send reply to a secure message\n\n<strong>NOTE:</strong> If including file attachments, this request must be sent as <i>multipart/form-data</i>\n\nFile attachment restrictions (as imposed by MHV):\n<ul>\n  <li>User may attach up to 4 files (10 files for OH triage groups)</li>\n  <li>Accepted formats: DOC, DOCX, GIF, JPG, JPEG, PDF, PNG, RTF, TXT, XLS, XLSX, JFIF, PJPEG, PJP (OH triage groups also support: BMP, TIFF, TIF, PPT, PPTX, PPS, PPSX, ODT, MP4, M4V, MOV, WMV, MPG)</li>\n  <li>Single attachment cannot exceed 6 MB (25 MB for OH triage groups)</li>\n  <li>Total attachment cannot exceed 10 MB (25 MB for OH triage groups)</li>\n</ul>\n"
      operationId: post_create_message_reply
      parameters:
      - description: ID of the message that is being replied to
        in: path
        name: id
        required: true
        schema:
          type: integer
      - description: Indicates if this message is for an OH triage group (allows larger attachments)
        in: query
        name: is_oh_triage_group
        required: false
        schema:
          type: boolean
      - $ref: '#/components/parameters/InflectionHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./schemas/SecureMessageReplyRequest.yml
          multipart/form-data:
            schema:
              properties:
                message:
                  description: Stringified JSON with same parameters as if this was an application/json request (e.g. '{"body":"test body with attachment"}')
                  type: string
                uploads[]:
                  description: 'One or more message attachments.


                    <strong>NOTES:</strong>

                    <ul>

                    <li>A single message may have a maximum of 4 attachments (10 for OH triage groups).</li>

                    <li>A single attachment cannot exceed 6 MB (25 MB for OH triage groups)</li>

                    <li>All attachments combined cannot exceed 10 MB (25 MB for OH triage groups)</li>

                    <li>Supported file types/extensions: DOC, DOCX, GIF, JPG, JPEG, PDF, PNG, RTF, TXT, XLS, XLSX, JFIF, PJPEG, PJP (OH triage groups also support: BMP, TIFF, TIF, PPT, PPTX, PPS, PPSX, ODT, MP4, M4V, MOV, WMV, MPG).</li>

                    </ul>

                    '
                  items:
                    format: binary
                    type: string
                  type: array
              type: object
        description: Reply message body
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessageDetail.yml
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: "Bad Request - Oracle Health message send failed. This can occur when:\n<ul>\n  <li>Message status polling returns FAILED or INVALID status</li>\n  <li>Error code SM98 will be returned in the response</li>\n</ul>\n"
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
        '422':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: 'Unprocessable Entity - Validation failed for one or more message fields

            (for example, missing or empty `body`), as defined by the request schema.

            '
      summary: /v1/messaging/messages/{id}/reply
      tags:
      - Messaging
  /v1/messaging/messages/{id}/thread:
    get:
      description: 'Gets a list of message summaries that are related to the message of the passed id.

        '
      operationId: get_messages_for_thread
      responses:
        '200':
          content:
            application/json:
              schema:
                oneOf:
                - $ref: ./schemas/SecureMessageListInThread.yml
                - $ref: ./schemas/SecureMessageListInThreadWithFullBody.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/messages/{id}/thread
      parameters:
      - name: full_body
        in: query
        description: Include the full body of the messages and attachments meta in the response
        required: false
        schema:
          type: boolean
      - $ref: '#/components/parameters/InflectionHeader'
      tags:
      - Messaging
  /v1/messaging/recipients:
    get:
      description: List available recipients to which messages may be sent
      operationId: get_triage_teams
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessagingRecipients.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/recipients
      parameters:
      - $ref: '#/components/parameters/InflectionHeader'
      tags:
      - Messaging
  /v1/messaging/allrecipients:
    get:
      description: List available recipients to which messages may be sent with advanced attributes
      operationId: get_all_triage_teams
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./schemas/SecureMessagingAllRecipients.yml
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: ./schemas/Errors.yml
          description: Not authorized for access to secure messages
      summary: /v1/messaging/allrecipients
      tags:
      - Messaging
  /v1/messaging/threads/{id}/move:
    patch:
      description: Moves all received messages in a secure message thread to a specified folder. Sent messages, draft messages, and deleted messages will not be moved.
      operationId: post_move_thread
      parameters:
      - description: The id of the thread that is to be moved
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: The id of the folder that the message is to be moved to
        in: query
        name: folder_id,
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/InflectionHeader'
      responses:
        '204':
 

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/va/refs/heads/main/openapi/va-messaging-api-openapi.yml