Narmi threads API

The threads API from Narmi — 6 operation(s) for threads.

OpenAPI Specification

narmi-threads-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Narmi Public account balances threads API
  version: v1
  description: To read about Public API access and authentication, go to [API Overview](https://docs.narmi.com/docs/narmi-developer-docs/xl9dvbz84o11l-introduction).
  termsOfService: https://www.narmi.com/policies/developer-terms-conditions
  contact:
    name: Narmi Support
    email: support@narmi.com
servers:
- url: https://api.sandbox.narmi.dev/
  description: ''
tags:
- name: threads
paths:
  /v1/thread_files/policies/:
    post:
      operationId: thread_files_policies_create
      description: 'Creates the payload for a signed request to upload a file directly to S3. Further documentation can be found via the AWS documentation: https://aws.amazon.com/blogs/compute/uploading-to-amazon-s3-directly-from-a-web-or-mobile-application/


        All monetary values are represented in minor units, or the smallest unit of the currency with no decimal (e.g., cents). For example, $10.00 is represented as 1000.




        <i>How can we improve these docs?             <a href="mailto:docs+feedback@narmi.com">Share your feedback.</a></i>'
      summary: Create a signed request for uploading a file to S3
      tags:
      - threads
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreadUploadPolicyCreateDocRequest'
            examples:
              CreateThreadUploadPolicy:
                value:
                  type: image/png
                  name: file.png
                summary: Create thread upload policy
              ThreadUploadPolicyInvalid:
                value:
                  reason: File destination does not exist or is invalid.
                summary: Thread upload policy invalid
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ThreadUploadPolicyCreateDocRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ThreadUploadPolicyCreateDocRequest'
        required: true
      security:
      - oauth2:
        - write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreadUploadPolicyResponse'
              examples:
                UploadPolicyCreated:
                  value:
                    policy: eyJleHBpcmF0aW9uIjogIjIwMjQtMDYtMThUMTQ6MDA6MDkuMDAwWiIsICJjb25kaXRpb25zIjogW3siYnVja2V0IjogImJ1Y2tldCJ9LCB7ImFjbCI6ICJjkkl2YXRlIn0sIHsia2V5IjogIm9yaWdpsdFsL3N1cHBvcnQvNGQ1ZjQ1NjA2MjhjNDA2YWFiMTVhYjkwMmRhMTI3MDUvZmlsZS5wbmcifSwgeyJzdWNjZXNzX2FjdGlvbl9zdGF0dXMiOiAiMjAxIn0sIHsieC1hbXotY3JlZGVudGlhbCI6ICIvMjAyNDA2MTgvbG9jYWwvczMvYXdzNF9yZXF1ZXN0In0sIHsieC1hbXotYWxnb3JpdGhtIjogIkFXUzQtSE1BQy1TSEEyNTYifSwgeyJ4LWFtei1kYXRlIjogIjIwMjQwNjE4VDEzNTUwOTAwMFoifSwgeyJjb250ZW50LXR5cGUiOiAiaW1hZ2UvcG5nIn0sIHsiQ2FjaGUtQ29udHJvbCI6ICJtYXgtYWdlPTI1OTIwMDAifSwgeyJDb250ZW50LURpc3Bvc2l0aW9uIjogImF0dGFjaG1lbnQifSwgeyJ4LWFtei1zZXJ2ZXItc2lkZS1lbmNyeXB0aW9uIjogIkFFUzI1NiJ9LCBbImNvbnRlbnQtbGVuZ3RoLXJhbmdlIiwgMCwgMjAwMDAwMDBdXX0=
                    success_action_status: 201
                    x-amz-credential: /20240618/local/s3/aws4_request
                    x-amz-date: 20240618T135509000Z
                    x-amz-signature: a249243213026c97ac80f9b2e4b2ef06c7c491022a8cf8e46f0ddf95a746e6f7
                    x-amz-algorithm: AWS4-HMAC-SHA256
                    form_action: http://example.com/__s3_upload__
                    key: original/support/4d5f8372828c406aab15ab902da12705/file.png
                    acl: private
                    content-type: image/png
                    Cache-Control: max-age=2592000
                    Content-Disposition: attachment
                    x-amz-server-side-encryption: AES256
                  summary: Upload policy created
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadFileError'
              examples:
                ThreadUploadPolicyInvalid:
                  value:
                    reason: File destination does not exist or is invalid.
                  summary: Thread upload policy invalid
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
          description: ''
      x-stoplight:
        id: zrdmgff6lcp7q
  /v1/threads/:
    get:
      operationId: threads_list
      description: 'List support message threads for the authenticated user.


        All monetary values are represented in minor units, or the smallest unit of the currency with no decimal (e.g., cents). For example, $10.00 is represented as 1000.




        <i>How can we improve these docs?             <a href="mailto:docs+feedback@narmi.com">Share your feedback.</a></i>'
      summary: List user's message threads
      parameters:
      - in: query
        name: end_date
        schema:
          type: string
          format: date
      - in: query
        name: filter
        schema:
          type: string
        description: Parameter filters threads by subject and message body.
      - in: query
        name: order_by
        schema:
          type: string
          enum:
          - created_at
          - updated_at
      - in: query
        name: start_date
        schema:
          type: string
          format: date
      tags:
      - threads
      security:
      - oauth2:
        - read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreadsResponse'
              examples:
                Read:
                  value:
                    threads:
                    - id: 1cde160e-592d-4ed6-94de-9460861793ba
                      subject: Traveling Abroad
                      state: open
                      message_preview: Can you please put a travel alert on my card?
                      created_at: '2018-10-27T12:38:51.369000-04:00'
                      updated_at: '2018-11-01T23:29:18.317000-04:00'
                      is_read: true
                    - id: ef0b1d5f-b65c-4430-9bc4-38e6cfe77467
                      subject: Debit Pin
                      state: closed
                      message_preview: I forgot the PIN number for my debit card.
                      created_at: '2019-04-21T11:37:35.693000-04:00'
                      updated_at: '2019-05-01T18:16:14.095000-04:00'
                      is_read: true
          description: ''
      x-stoplight:
        id: d1q1md8w5b5gl
    post:
      operationId: threads_create
      description: 'Create a support message thread for the authenticated user.


        All monetary values are represented in minor units, or the smallest unit of the currency with no decimal (e.g., cents). For example, $10.00 is represented as 1000.




        <i>How can we improve these docs?             <a href="mailto:docs+feedback@narmi.com">Share your feedback.</a></i>'
      summary: Create message thread for a user
      tags:
      - threads
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreadCreateRequest'
            examples:
              Write:
                value:
                  subject: Traveling Abroad
                  body: Can you please put a travel alert on my card?
                  url: https://bucket.s3-local.amazonaws.com/file/structure/123123123/file.txt
                  team_uuid: eb7111bd-9879-4c0c-a5f5-cc06ab481e04
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ThreadCreateRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ThreadCreateRequest'
        required: true
      security:
      - oauth2:
        - write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreadResponse'
              examples:
                Read:
                  value:
                    thread:
                      id: 1cde160e-592d-4ed6-94de-9460861793ba
                      subject: Traveling Abroad
                      state: open
                      message_preview: Can you please put a travel alert on my card?
                      created_at: '2018-10-27T12:38:51.369000-04:00'
                      updated_at: '2018-11-01T23:29:18.317000-04:00'
                      is_read: true
          description: ''
        '422':
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  message:
                    type: string
              examples:
                ServiceValidationError:
                  value:
                    id: invalid_request_error
                    message: subject
          description: ''
      x-stoplight:
        id: fttfixclnme5y
  /v1/threads/{thread_uuids}/messages/:
    get:
      operationId: threads_messages_list
      description: 'List messages for the specified support message threads. The threads are specified in the path parameters as comma-separated UUIDs. If the thread does not exist, this endpoint will return a 404. Response will include both messages and thread files (i.e. attachments).


        All monetary values are represented in minor units, or the smallest unit of the currency with no decimal (e.g., cents). For example, $10.00 is represented as 1000.




        <i>How can we improve these docs?             <a href="mailto:docs+feedback@narmi.com">Share your feedback.</a></i>'
      summary: List messages in a thread
      parameters:
      - in: path
        name: thread_uuids
        schema:
          type: string
          pattern: ^[,0-9A-Za-z-]+$
        required: true
      tags:
      - threads
      security:
      - oauth2:
        - read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesResponse'
              examples:
                ListFromMultipleThreads:
                  value:
                    links:
                      next: null
                      previous: null
                    meta:
                      total: 16
                    messages:
                    - body: '0'
                      internal_note: false
                      id: 508fce18-3092-48bd-82ae-5df24f768470
                      thread_id: 70598155-99e0-4080-8124-1dcc36940eee
                      author:
                        email: demo@narmitech.com
                        core_provided_email: null
                        username: testuser
                        id: 07231f46-23f1-482e-bdc4-35f2267b60e6
                        institution_user_identifier: ''
                        updated_at: '2024-04-30T20:16:46.861043+00:00'
                        addresses: []
                        phone_numbers: []
                        first_name: ''
                        last_name: ''
                        paper_statements: null
                        user_category: personal
                        features:
                          ach: true
                          allow_olb_device_remembering: true
                          check_order: true
                          edit_scheduled_transfers: true
                          stop_payment_by_range: true
                          top_menu:
                            Dashboard:
                              url: /dashboard
                            Accounts:
                              accounts: true
                            Documents:
                              url: /statements
                            Support:
                              url: /support
                            Tools:
                              menu:
                                Transfer funds:
                                  url: /transfer
                                Transactions:
                                  url: /transactions
                                Cards:
                                  url: /cards
                                Trends:
                                  url: /trends
                                Automatic savings:
                                  url: /automatic
                                Manage users:
                                  url: /access_manager
                                  feature_flag: indigo.OrganizationUser_permission
                                List all NAF options:
                                  naf: true
                          internal_transfers: true
                          account_membership: true
                          address_change: true
                          alerts: true
                          allpoint_locator_atm: true
                          automatic_savings: OPT_IN
                          bill_pay: ipay
                          billshark: true
                          business_account_opening: true
                          personal_banking: true
                          business_banking: true
                          cards: true
                          coop_locator_atm: true
                          coop_locator_branch: true
                          core_based_alerts: false
                          existing_user_account_opening: true
                          existing_user_dao: true
                          instant_account_verification: mx
                          insurance: lemonade
                          login_and_enroll_blocked: false
                          mobile_banking: true
                          moneypass_locator_atm: true
                          deposit_sso: true
                          new_account_opening: true
                          offers: true
                          offline_verification: true
                          online_banking: true
                          p2p:
                          - m2m
                          paperless_statement_enrollment: true
                          paperless_statement_unenrollment: false
                          phone_change: true
                          push_notifications: true
                          rdc: true
                          refer_a_member: true
                          show_transaction_contact_support: true
                          statements: true
                          transfers: true
                          trends: mx
                          user_message_uploads: true
                          username: true
                          wires: true
                          stop_payment: true
                          beneficiaries: true
                          naf_app_management: true
                          profile_switcher: true
                          mobile_login_switcher: true
                          limits:
                            immediate_rdc:
                              '3': 7000
                            immediate_ach_pull:
                              '1': 1000
                            ach_pull:
                              '30': 5500
                              '1': 500
                            ach_push:
                              '3': 5000
                          indigo.Account_permission: '*'
                          indigo.AchTransfer_permission: '*'
                          integrations.base.Card_permission: '*'
                          indigo.ExternalAccount_permission: '*'
                          indigo.IntraInstitutionTransfer_permission: '*'
                          indigo.MemberFriend_permission: '*'
                          integrations.base.Payee_permission: '*'
                          integrations.base.Payment_permission: '*'
                          indigo.Transaction_permission: '*'
                          indigo.WireTransaction_permission: '*'
                          integrations.documents_permission: '*'
                          integrations.rdc_permission: '*'
                          can_change_username: false
                          can_change_estatements: false
                          zelle: false
                          hold_days:
                            rdc_hold_days: 4
                            ach_hold_days: 2
                        org_uuid: null
                        org_role: null
                        org_name: ''
                        business_permissions: []
                        dual_approval_required: false
                        is_staff: false
                        is_active: true
                        is_superuser: false
                        is_narmi: false
                        date_joined: '2018-03-26T14:43:59.004000+00:00'
                        last_login: '2024-06-11 15:05:32.862565+00:00'
                        segment: ''
                        metadata: {}
                        has_username: true
                        has_password: true
                        has_accepted_latest_terms: true
                        requires_enrollment_code_verification: false
                        enabled_estatements_at: '2024-04-29T16:09:32.780547-04:00'
                        is_converting: false
                        has_permitted_device: true
                        has_backup_codes: false
                      created_at: '2024-05-16T14:31:48.940392-04:00'
                      updated_at: '2024-05-16T14:31:48.940401-04:00'
                    - body: '1'
                      internal_note: false
                      id: 1718d5bd-54b3-4b4d-af0e-c2b856cf6552
                      thread_id: 3e788485-2d04-4ed8-ac88-a89b5ca3b104
                      author:
                        email: demo@narmitech.com
                        core_provided_email: null
                        username: testuser
                        id: 07231f46-23f1-482e-bdc4-35f2267b60e6
                        institution_user_identifier: ''
                        updated_at: '2024-04-30T20:16:46.861043+00:00'
                        addresses: []
                        phone_numbers: []
                        first_name: ''
                        last_name: ''
                        paper_statements: null
                        user_category: personal
                        features:
                          ach: true
                          allow_olb_device_remembering: true
                          check_order: true
                          edit_scheduled_transfers: true
                          stop_payment_by_range: true
                          top_menu:
                            Dashboard:
                              url: /dashboard
                            Accounts:
                              accounts: true
                            Documents:
                              url: /statements
                            Support:
                              url: /support
                            Tools:
                              menu:
                                Transfer funds:
                                  url: /transfer
                                Transactions:
                                  url: /transactions
                                Cards:
                                  url: /cards
                                Trends:
                                  url: /trends
                                Automatic savings:
                                  url: /automatic
                                Manage users:
                                  url: /access_manager
                                  feature_flag: indigo.OrganizationUser_permission
                                List all NAF options:
                                  naf: true
                          internal_transfers: true
                          account_membership: true
                          address_change: true
                          alerts: true
                          allpoint_locator_atm: true
                          automatic_savings: OPT_IN
                          bill_pay: ipay
                          billshark: true
                          business_account_opening: true
                          personal_banking: true
                          business_banking: true
                          cards: true
                          coop_locator_atm: true
                          coop_locator_branch: true
                          core_based_alerts: false
                          existing_user_account_opening: true
                          existing_user_dao: true
                          instant_account_verification: mx
                          insurance: lemonade
                          login_and_enroll_blocked: false
                          mobile_banking: true
                          moneypass_locator_atm: true
                          deposit_sso: true
                          new_account_opening: true
                          offers: true
                          offline_verification: true
                          online_banking: true
                          p2p:
                          - m2m
                          paperless_statement_enrollment: true
                          paperless_statement_unenrollment: false
                          phone_change: true
                          push_notifications: true
                          rdc: true
                          refer_a_member: true
                          show_transaction_contact_support: true
                          statements: true
                          transfers: true
                          trends: mx
                          user_message_uploads: true
                          username: true
                          wires: true
                          stop_payment: true
                          beneficiaries: true
                          naf_app_management: true
                          profile_switcher: true
                          mobile_login_switcher: true
                          limits:
                            immediate_rdc:
                              '3': 7000
                            immediate_ach_pull:
                              '1': 1000
                            ach_pull:
                              '30': 5500
                              '1': 500
                            ach_push:
                              '3': 5000
                          indigo.Account_permission: '*'
                          indigo.AchTransfer_permission: '*'
                          integrations.base.Card_permission: '*'
                          indigo.ExternalAccount_permission: '*'
                          indigo.IntraInstitutionTransfer_permission: '*'
                          indigo.MemberFriend_permission: '*'
                          integrations.base.Payee_permission: '*'
                          integrations.base.Payment_permission: '*'
                          indigo.Transaction_permission: '*'
                          indigo.WireTransaction_permission: '*'
                          integrations.documents_permission: '*'
                          integrations.rdc_permission: '*'
                          can_change_username: false
                          can_change_estatements: false
                          zelle: false
                          hold_days:
                            rdc_hold_days: 4
                            ach_hold_days: 2
                        org_uuid: null
                        org_role: null
                        org_name: ''
                        business_permissions: []
                        dual_approval_required: false
                        is_staff: false
                        is_active: true
                        is_superuser: false
                        is_narmi: false
                        date_joined: '2018-03-26T14:43:59.004000+00:00'
                        last_login: '2024-06-11 15:05:32.862565+00:00'
                        segment: ''
                        metadata: {}
                        has_username: true
                        has_password: true
                        has_accepted_latest_terms: true
                        requires_enrollment_code_verification: false
                        enabled_estatements_at: '2024-04-29T16:09:32.780547-04:00'
                        is_converting: false
                        has_permitted_device: true
                        has_backup_codes: false
                      created_at: '2024-05-16T14:31:48.559740-04:00'
                      updated_at: '2024-05-16T14:31:48.559752-04:00'
                    - body: '0'
                      internal_note: false
                      id: 94f6f42e-b441-4c3f-9227-3b7218c0a032
                      thread_id: 26ac2bdb-0426-4563-8bfb-cd1d35efbd02
                      author:
                        email: demo@narmitech.com
                        core_provided_email: null
                        username: testuser
                        id: 07231f46-23f1-482e-bdc4-35f2267b60e6
                        institution_user_identifier: ''
                        updated_at: '2024-04-30T20:16:46.861043+00:00'
                        addresses: []
                        phone_numbers: []
                        first_name: ''
                        last_name: ''
                        paper_statements: null
                        user_category: personal
                        features:
                          ach: true
                          allow_olb_device_remembering: true
                          check_order: true
                          edit_scheduled_transfers: true
                          stop_payment_by_range: true
                          top_menu:
                            Dashboard:
                              url: /dashboard
                            Accounts:
                              accounts: true
                            Documents:
                              url: /statements
                            Support:
                              url: /support
                            Tools:
                              menu:
                                Transfer funds:
                                  url: /transfer
                                Transactions:
                                  url: /transactions
                                Cards:
                                  url: /cards
                                Trends:
                                  url: /trends
                                Automatic savings:
                                  url: /automatic
                                Manage users:
                                  url: /access_manager
                                  feature_flag: indigo.OrganizationUser_permission
                                List all NAF options:
                                  naf: true
                          internal_transfers: true
                          account_membership: true
                          address_change: true
                          alerts: true
                          allpoint_locator_atm: true
                          automatic_savings: OPT_IN
                          bill_pay: ipay
                          billshark: true
                          business_account_opening: true
                          personal_banking: true
                          business_banking: true
                          cards: true
                          coop_locator_atm: true
                          coop_locator_branch: true
                          core_based_alerts: false
                          existing_user_account_opening: true
                          existing_user_dao: true
                          instant_account_verification: mx
                          insurance: lemonade
                          login_and_enroll_blocked: false
                          mobile_banking: true
                          moneypass_locator_atm: true
                          deposit_sso: true
                          new_account_opening: true
                          offers: true
                          offline_verification: true
                          online_banking: true
                          p2p:
                          - m2m
                          paperless_statement_enrollment: true
                          paperless_statement_unenrollment: false
                          phone_change: true
                          push_notifications: true
                          rdc: true
                          refer_a_member: true
                          show_transaction_contact_support: true
                          statements: true
                          transfers: true
                          trends: mx
                          user_message_uploads: true
                          username: true
                          wires: true
                          stop_payment: true
                          beneficiaries: true
                          naf_app_management: true
                          profile_switcher: true
                          mobile_login_switcher: true
                          limits:
                            immediate_rdc:
                              '3': 7000
                            immediate_ach_pull:
                              '1': 1000
                            ach_pull:
                              '30': 5500
                              '1': 500
                            ach_push:
                              '3': 5000
                          indigo.Account_permission: '*'
                          indigo.AchTransfer_permission: '*'
                          integrations.base.Card_permission: '*'
                          indigo.ExternalAccount_permission: '*'
                          indigo.IntraInstitutionTransfer_permission: '*'
                          indigo.MemberFriend_permission: '*'
                          integrations.base.Payee_permission: '*'
                          integrations.base.Payment_permission: '*'
                          indigo.Transaction_permission: '*'
                          indigo.WireTransaction_permission: '*'
                          integrations.documents_permission: '*'
                          integrations.rdc_permission: '*'
                          can_change_username: false
                          can_change_estatements: false
                          zelle: false
                          hold_days:
                            rdc_hold_days: 4
                            ach_hold_days: 2
                        org_uuid: null
                        org_role: null
                        org_name: ''
                        business_permissions: []
                        dual_approval_required: false
                        is_staff: false
                        is_active: true
                        is_superuser: false
                        is_narmi: false
                        date_joined: '2018-03-26T14:43:59.004000+00:00'
                        last_login: '2024-06-11 15:05:32.862565+00:00'
                        segment: ''
                        metadata: {}
                        has_username: true
                        has_password: true
                        has_accepted_latest_terms: true
                        requires_enrollment_code_verification: false
                        enabled_estatements_at: '2024-04-29T16:09:32.780547-04:00'
                        is_converting: false
                        has_permitted_device: true
                        has_backup_codes: false
                      created_at: '2024-05-16T14:18:12.700044-04:00'
                      updated_at: '2024-05-16T14:18:12.700053-04:00'
                    - body: '1'
                      internal_note: false
                      id: 827df9b3-0906-4b62-a017-ac68bfcb8c3d
                      thread_id: d1c6c02c-eaf2-44ed-961e-dcc5a7ec75bb
                      author:
                        email: demo@narmitech.com
                        core_provided_email: null
                        username: testuser
                        id: 07231f46-23f1-482e-bdc4-35f2267b60e6
                        institution_user_identifier: ''
                        updated_at: '2024-04-30T20:16:4

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