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

# Upload Plaid assets

> Upload Plaid asset JSON for a specified end user to translate into Heron Data format and add transactions for the end user




## OpenAPI

````yaml https://app.herondata.io/swagger post /api/end_users/{end_user_id_or_heron_id}/plaid/assets
openapi: 3.0.0
info:
  contact:
    email: support@herondata.io
    name: Support
  title: Heron Data API
  version: '2021-07-19'
servers:
  - description: Production
    url: https://app.herondata.io
security:
  - ApiKeyAuth:
      - key_XXX
externalDocs:
  description: Read Tutorial
  url: https://docs.herondata.io/
paths:
  /api/end_users/{end_user_id_or_heron_id}/plaid/assets:
    post:
      tags:
        - EndUserIntegrations
      summary: Upload Plaid assets
      description: >
        Upload Plaid asset JSON for a specified end user to translate into Heron
        Data format and add transactions for the end user
      parameters:
        - description: The `end_user_id` or `heron_id` of EndUser to upload
          in: path
          name: end_user_id_or_heron_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlaidAssetsSchema'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  _summary:
                    properties:
                      request_id:
                        description: Unique UUID per request
                        type: string
                    type: object
                type: object
          description: OK
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PlaidAssetsSchema:
      properties:
        report:
          $ref: '#/components/schemas/PlaidAssetReport'
      required:
        - report
      type: object
    PlaidAssetReport:
      properties:
        date_generated:
          format: date-time
          type: string
        days_requested:
          type: integer
        items:
          items:
            $ref: '#/components/schemas/PlaidAssetReportItem'
          type: array
      required:
        - date_generated
        - days_requested
        - items
      type: object
    PlaidAssetReportItem:
      properties:
        accounts:
          items:
            $ref: '#/components/schemas/PlaidAccount'
          type: array
        institution_name:
          type: string
      required:
        - accounts
        - institution_name
      type: object
    PlaidAccount:
      properties:
        account_id:
          type: string
        balances:
          $ref: '#/components/schemas/PlaidAccountSnapshotBalance'
        historical_balances:
          items:
            $ref: '#/components/schemas/PlaidAccountBalance'
          type: array
        mask:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        official_name:
          nullable: true
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PlaidAccountOwners'
          nullable: true
          type: array
        subtype:
          nullable: true
          type: string
        transactions:
          items:
            $ref: '#/components/schemas/PlaidTransaction'
          type: array
        type:
          nullable: true
          type: string
      required:
        - account_id
        - balances
        - historical_balances
        - transactions
      type: object
    PlaidAccountSnapshotBalance:
      properties:
        available:
          nullable: true
          type: number
        current:
          nullable: true
          type: number
        iso_currency_code:
          type: string
        limit:
          nullable: true
          type: number
      type: object
    PlaidAccountBalance:
      properties:
        current:
          type: number
        date:
          format: date
          type: string
        iso_currency_code:
          description: ISO 4217 currency code
          example: USD
          maxLength: 3
          minLength: 3
          nullable: true
          type: string
      type: object
    PlaidAccountOwners:
      properties:
        names:
          items:
            type: string
          type: array
      required:
        - names
      type: object
    PlaidTransaction:
      properties:
        account_id:
          type: string
        amount:
          type: number
        balance:
          type: number
        category:
          nullable: true
          type: string
        date:
          format: date
          type: string
        iso_currency_code:
          description: ISO 4217 currency code
          example: USD
          maxLength: 3
          minLength: 3
          nullable: true
          type: string
        merchant_name:
          nullable: true
          type: string
        name:
          type: string
        pending:
          type: boolean
        pending_transaction_id:
          default: null
          nullable: true
          type: string
        timestamp:
          format: date-time
          type: string
        transaction_code:
          nullable: true
          type: string
        transaction_id:
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````