Narmi scheduled transfers API

The scheduled transfers API from Narmi — 1 operation(s) for scheduled transfers.

OpenAPI Specification

narmi-scheduled-transfers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Narmi Public account balances scheduled transfers 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: scheduled transfers
paths:
  /v1/transfers/scheduled/:
    get:
      operationId: transfers_scheduled_list
      description: 'List the authenticated user''s scheduled transfers.


        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 scheduled transfers
      parameters:
      - in: query
        name: is_expired
        schema:
          type: boolean
        description: When present, will filter results by either expired only, or unexpired only.
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: per_page
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      tags:
      - scheduled transfers
      security:
      - oauth2:
        - banking:scheduled_transfers:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedScheduledTransferList'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
      x-stoplight:
        id: wnqwd2vuvsmeg
    post:
      operationId: transfers_scheduled_create
      description: 'Create a scheduled transfer 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 a scheduled transfer
      tags:
      - scheduled transfers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduledTransferRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScheduledTransferRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ScheduledTransferRequest'
        required: true
      security:
      - oauth2:
        - banking:scheduled_transfers:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NestedScheduledTransfer'
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  message:
                    type: string
              examples:
                NotFoundError:
                  value:
                    id: not_found_error
                    message: The requested resource was not found.
          description: ''
        '422':
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  message:
                    type: string
              examples:
                InvalidPayload:
                  value:
                    id: invalid_request_error
                    message: Transfer amount is greater than account balance.
                  summary: Invalid Payload
          description: ''
      x-stoplight:
        id: edb7uvtg5ajmd
    put:
      operationId: transfers_scheduled_update
      description: 'Edit a scheduled transfer 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: Edit a scheduled transfer
      tags:
      - scheduled transfers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduledTransferRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScheduledTransferRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ScheduledTransferRequest'
        required: true
      security:
      - oauth2:
        - banking:scheduled_transfers:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NestedScheduledTransfer'
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  message:
                    type: string
              examples:
                NotFoundError:
                  value:
                    id: not_found_error
                    message: The requested resource was not found.
          description: ''
        '422':
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  message:
                    type: string
              examples:
                InvalidPayload:
                  value:
                    id: invalid_request_error
                    message: Scheduled transfers with end dates cannot be edited. If you want to change this transfer, delete it and create a new one instead.
                  summary: Invalid Payload
          description: ''
      x-stoplight:
        id: tbggyxdmhikya
    delete:
      operationId: transfers_scheduled_destroy
      description: "Delete a user's scheduled transfer. Accepts a payload containing an identifier for the scheduled transfer,\neither a Narmi UUID or a core identifier.\n\nExample:\n```http\nDELETE /v1/transfers/scheduled/ HTTP/1.1\nHost: api.example.com\nContent-Type: application/json\n\n{\n  \"id\": \"07231f46-23f1-482e-bdc4-35f2267b60e6\"\n}\n\n```\n\nAll 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.\n\n\n\n<i>How can we improve these docs?             <a href=\"mailto:docs+feedback@narmi.com\">Share your feedback.</a></i>"
      summary: Delete scheduled transfer
      tags:
      - scheduled transfers
      security:
      - oauth2:
        - banking:scheduled_transfers:write
      responses:
        '200':
          description: No response body
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  message:
                    type: string
              examples:
                NotFoundError:
                  value:
                    id: not_found_error
                    message: The requested resource was not found.
          description: ''
      x-stoplight:
        id: bvn3o9dxj90sz
components:
  schemas:
    ScheduledTransfer:
      type: object
      description: 'Represents:

        indigo.models.recurring_transfer.AchTransfer,

        indigo.models.recurring_transfer.IntraInstitutionTransfer'
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/ScheduledTransferStateEnum'
          readOnly: true
          description: 'Whether or not the scheduled transfer is expired.


            * `expired` - expired

            * `active` - active'
        created_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        amount:
          example: 100
          maximum: 1000000000000000
          minimum: -1000000000000000
          description: A field that returns the original value in the currency's smallest unit (e.g. cents).
          type: integer
        from_account_id:
          type: string
          format: uuid
          description: UUID identifying the source account in the Narmi database.
        to_account_id:
          type: string
          format: uuid
          description: UUID identifying the destination account in the Narmi database.
        next_transfer_at:
          type: string
          format: date-time
          readOnly: true
        recurring_rule:
          type: string
          example: RRULE:FREQ=DAILY;COUNT=1
          description: Cadence of recurring event, as per the RFC-5545 specification.
        memo:
          type: string
          default: ''
          description: Free-form description of transfer.
        description:
          type: string
          default: ''
          description: Free-form description of transfer.
      required:
      - amount
      - from_account_id
      - recurring_rule
      - to_account_id
      x-stoplight:
        id: tfuhvwk5p8fsx
    NotFoundError:
      type: object
      properties:
        id:
          type: string
          default: not_found
        message:
          type: string
          description: An error response detailing the nature of the error.
      required:
      - message
      x-stoplight:
        id: qazjpvfdteybw
    ScheduledTransferStateEnum:
      enum:
      - expired
      - active
      type: string
      description: '* `expired` - expired

        * `active` - active'
      x-stoplight:
        id: 3uyhod4xb85tf
    NestedScheduledTransfer:
      type: object
      properties:
        scheduled_transfers:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledTransfer'
      required:
      - scheduled_transfers
      x-stoplight:
        id: dsndbtq2zlgwc
    ScheduledTransferRequest:
      type: object
      description: 'Represents:

        indigo.models.recurring_transfer.AchTransfer,

        indigo.models.recurring_transfer.IntraInstitutionTransfer'
      properties:
        amount:
          example: 100
          maximum: 1000000000000000
          minimum: -1000000000000000
          description: A field that returns the original value in the currency's smallest unit (e.g. cents).
          type: integer
        from_account_id:
          type: string
          format: uuid
          description: UUID identifying the source account in the Narmi database.
        to_account_id:
          type: string
          format: uuid
          description: UUID identifying the destination account in the Narmi database.
        agreement:
          type: boolean
          writeOnly: true
          description: Whether or not the terms of the transfer were agreed to.
        device_id:
          type: string
          writeOnly: true
          minLength: 1
          description: Device 'fingerprint' from alloy/iovation.
        recurring_rule:
          type: string
          minLength: 1
          example: RRULE:FREQ=DAILY;COUNT=1
          description: Cadence of recurring event, as per the RFC-5545 specification.
        memo:
          type: string
          minLength: 1
          default: ''
          description: Free-form description of transfer.
        description:
          type: string
          minLength: 1
          default: ''
          description: Free-form description of transfer.
        ach_transfer:
          type: string
          format: uuid
          writeOnly: true
          description: Associated ACH Transfer used to evaluate transfer limits, and if they've been exceeded.
      required:
      - agreement
      - amount
      - from_account_id
      - recurring_rule
      - to_account_id
      x-stoplight:
        id: xtzufkz4xtogz
    PaginatedScheduledTransferList:
      type: object
      required:
      - meta
      - links
      properties:
        meta:
          description: Free-form object, contains total object count.
          type: object
          properties:
            total:
              type: integer
        links:
          type: object
          description: URIs linking to sequential pages of the result.
          properties:
            next:
              type: string
              format: uri
              nullable: true
              example: http://api.example.org/accounts/?page=4
            prev:
              type: string
              format: uri
              nullable: true
              example: http://api.example.org/accounts/?page=4
        scheduled_transfers:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledTransfer'
      x-stoplight:
        id: dahasasw0vcuq
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /v2/oauth/authorize/
          tokenUrl: /v2/oauth/token/
          scopes:
            banking:accounts:read: Can read account information.
            banking:transactions:read: Can read transaction information.
            banking:scheduled_transfers:read: Can read scheduled transfer information.
            banking:scheduled_transfers:write: Can create and update scheduled transfers.
            banking:accounts:write: Can update account information.
            banking:transactions:write: Can update transaction information.
            banking:users:read: Can read user profile information.
            banking:products:read: Can read product information.
            banking:documents:read: Can read user statements and documents.
x-stoplight:
  id: 68n444msv6n7x