Tink Money Manager API

Personal and business financial-management surface. Cash-flow summaries, recurring and one-off business budgets, a financial calendar of bills and invoices, and reconciliations against bank transactions.

OpenAPI Specification

tink-money-manager-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Tink Money Manager API
  description: >
    Tink Money Manager (Business Financial Management) provides personal and
    business financial management capabilities including cash flow
    summaries, budgets, financial calendar events, and reconciliations. The
    finance-management API powers SMB-facing dashboards inside customer
    banking and accounting apps.
  version: '1.0'
  contact:
    name: Tink Developer Support
    url: https://docs.tink.com/resources/money-manager
servers:
  - url: https://api.tink.com
    description: Tink EU Production
security:
  - BearerAuth: []
tags:
  - name: CashFlow
    description: Cash flow summaries.
  - name: Budgets
    description: Personal and business budgets.
  - name: FinancialCalendar
    description: Financial calendar events and reconciliations.
paths:
  /finance-management/v1/cash-flow-summaries/{resolution}:
    get:
      summary: Tink Get Cash Flow Summaries
      description: >
        Retrieve cash flow summaries (income vs expense) for the user at the
        requested resolution. Resolution values include DAILY, WEEKLY,
        MONTHLY, QUARTERLY, and YEARLY.
      operationId: getCashFlowSummaries
      tags:
        - CashFlow
      parameters:
        - in: path
          name: resolution
          required: true
          schema:
            type: string
            enum: [DAILY, WEEKLY, MONTHLY, QUARTERLY, YEARLY]
        - in: query
          name: from_gte
          required: true
          schema:
            type: string
            format: date
        - in: query
          name: to_lte
          required: true
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Cash flow summaries returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashFlowSummaryList'
  /finance-management/v1/business-budgets:
    post:
      summary: Tink Create A Business Budget
      description: Create a one-off or recurring business budget tied to a category, merchant, or tag set.
      operationId: createBusinessBudget
      tags:
        - Budgets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BudgetRequest'
      responses:
        '201':
          description: Budget created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Budget'
    get:
      summary: Tink List Business Budgets
      description: List business budgets, optionally filtered by progress status.
      operationId: listBusinessBudgets
      tags:
        - Budgets
      parameters:
        - in: query
          name: progress_status_in
          schema:
            type: string
            enum: [ON_TRACK, AT_RISK, EXCEEDED]
      responses:
        '200':
          description: Budgets returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BudgetList'
  /finance-management/v1/business-budgets/{budgetId}:
    get:
      summary: Tink Get A Business Budget
      description: Retrieve a business budget by id with current progress and remaining amount.
      operationId: getBusinessBudget
      tags:
        - Budgets
      parameters:
        - $ref: '#/components/parameters/BudgetIdParam'
      responses:
        '200':
          description: Budget returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Budget'
    patch:
      summary: Tink Update A Business Budget
      description: Update fields on a business budget (limit, period, tags).
      operationId: updateBusinessBudget
      tags:
        - Budgets
      parameters:
        - $ref: '#/components/parameters/BudgetIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BudgetRequest'
      responses:
        '200':
          description: Budget updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Budget'
    delete:
      summary: Tink Delete A Business Budget
      description: Delete a business budget.
      operationId: deleteBusinessBudget
      tags:
        - Budgets
      parameters:
        - $ref: '#/components/parameters/BudgetIdParam'
      responses:
        '204':
          description: Budget deleted.
  /finance-management/v1/business-budgets/{budgetId}/history:
    get:
      summary: Tink Get Business Budget History
      description: Retrieve the historical performance of a budget across past periods.
      operationId: getBusinessBudgetHistory
      tags:
        - Budgets
      parameters:
        - $ref: '#/components/parameters/BudgetIdParam'
      responses:
        '200':
          description: Budget history returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BudgetHistory'
  /finance-management/v1/financial-calendar-events:
    post:
      summary: Tink Create A Financial Calendar Event
      description: Create a scheduled or recurring financial calendar event such as a bill, invoice, or tax payment.
      operationId: createCalendarEvent
      tags:
        - FinancialCalendar
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarEventRequest'
      responses:
        '201':
          description: Event created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarEvent'
    get:
      summary: Tink List Financial Calendar Events
      description: List financial calendar events filtered by due-date range.
      operationId: listCalendarEvents
      tags:
        - FinancialCalendar
      parameters:
        - in: query
          name: due_date_gte
          schema:
            type: string
            format: date
        - in: query
          name: due_date_lte
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Events returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarEventList'
  /finance-management/v1/financial-calendar-events/{calendarEventId}:
    get:
      summary: Tink Get A Financial Calendar Event
      description: Retrieve a single financial calendar event by id.
      operationId: getCalendarEvent
      tags:
        - FinancialCalendar
      parameters:
        - $ref: '#/components/parameters/CalendarEventIdParam'
      responses:
        '200':
          description: Event returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarEvent'
    patch:
      summary: Tink Update A Financial Calendar Event
      description: Update fields on a financial calendar event.
      operationId: updateCalendarEvent
      tags:
        - FinancialCalendar
      parameters:
        - $ref: '#/components/parameters/CalendarEventIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarEventRequest'
      responses:
        '200':
          description: Event updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarEvent'
    delete:
      summary: Tink Delete A Financial Calendar Event
      description: Delete a financial calendar event.
      operationId: deleteCalendarEvent
      tags:
        - FinancialCalendar
      parameters:
        - $ref: '#/components/parameters/CalendarEventIdParam'
      responses:
        '204':
          description: Event deleted.
  /finance-management/v1/financial-calendar-events/{calendarEventId}/reconciliations:
    post:
      summary: Tink Create A Calendar Event Reconciliation
      description: Reconcile a calendar event against a matched transaction.
      operationId: createReconciliation
      tags:
        - FinancialCalendar
      parameters:
        - $ref: '#/components/parameters/CalendarEventIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReconciliationRequest'
      responses:
        '201':
          description: Reconciliation created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reconciliation'
  /finance-management/v1/financial-calendar-summaries/{resolution}:
    get:
      summary: Tink List Calendar Event Summaries
      description: Aggregate financial calendar events into summaries at the requested resolution.
      operationId: listCalendarEventSummaries
      tags:
        - FinancialCalendar
      parameters:
        - in: path
          name: resolution
          required: true
          schema:
            type: string
            enum: [WEEKLY, MONTHLY, QUARTERLY, YEARLY]
        - in: query
          name: period_gte
          schema:
            type: string
            format: date
        - in: query
          name: period_lte
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Summaries returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarEventSummaryList'
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
  parameters:
    BudgetIdParam:
      in: path
      name: budgetId
      required: true
      schema:
        type: string
    CalendarEventIdParam:
      in: path
      name: calendarEventId
      required: true
      schema:
        type: string
  schemas:
    CashFlowSummaryList:
      type: object
      properties:
        summaries:
          type: array
          items:
            type: object
            properties:
              periodStart:
                type: string
                format: date
              periodEnd:
                type: string
                format: date
              income:
                $ref: '#/components/schemas/Money'
              expenses:
                $ref: '#/components/schemas/Money'
              net:
                $ref: '#/components/schemas/Money'
    BudgetRequest:
      type: object
      properties:
        name:
          type: string
        amount:
          $ref: '#/components/schemas/Money'
        period:
          type: string
          enum: [ONE_OFF, WEEK, MONTH, QUARTER, YEAR]
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        filters:
          type: object
          properties:
            categoryIds:
              type: array
              items:
                type: string
            merchantNames:
              type: array
              items:
                type: string
            tags:
              type: array
              items:
                type: string
    Budget:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        amount:
          $ref: '#/components/schemas/Money'
        period:
          type: string
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        progress:
          type: object
          properties:
            spent:
              $ref: '#/components/schemas/Money'
            remaining:
              $ref: '#/components/schemas/Money'
            status:
              type: string
              enum: [ON_TRACK, AT_RISK, EXCEEDED]
    BudgetList:
      type: object
      properties:
        budgets:
          type: array
          items:
            $ref: '#/components/schemas/Budget'
    BudgetHistory:
      type: object
      properties:
        budgetId:
          type: string
        periods:
          type: array
          items:
            type: object
            properties:
              periodStart:
                type: string
                format: date
              periodEnd:
                type: string
                format: date
              spent:
                $ref: '#/components/schemas/Money'
              status:
                type: string
                enum: [ON_TRACK, AT_RISK, EXCEEDED]
    CalendarEventRequest:
      type: object
      properties:
        title:
          type: string
        amount:
          $ref: '#/components/schemas/Money'
        dueDate:
          type: string
          format: date
        type:
          type: string
          enum: [BILL, INVOICE, TAX, SALARY, OTHER]
        recurrence:
          type: string
          enum: [SINGLE, WEEKLY, MONTHLY, QUARTERLY, YEARLY]
        tags:
          type: array
          items:
            type: string
    CalendarEvent:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        amount:
          $ref: '#/components/schemas/Money'
        dueDate:
          type: string
          format: date
        type:
          type: string
        recurrence:
          type: string
        status:
          type: string
          enum: [OPEN, PAID, OVERDUE, CANCELLED]
    CalendarEventList:
      type: object
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/CalendarEvent'
    CalendarEventSummaryList:
      type: object
      properties:
        summaries:
          type: array
          items:
            type: object
            properties:
              periodStart:
                type: string
                format: date
              periodEnd:
                type: string
                format: date
              eventCount:
                type: integer
                format: int32
              totalAmount:
                $ref: '#/components/schemas/Money'
    ReconciliationRequest:
      type: object
      properties:
        transactionId:
          type: string
        amount:
          $ref: '#/components/schemas/Money'
    Reconciliation:
      type: object
      properties:
        id:
          type: string
        calendarEventId:
          type: string
        transactionId:
          type: string
        amount:
          $ref: '#/components/schemas/Money'
        reconciledAt:
          type: string
          format: date-time
    Money:
      type: object
      properties:
        amount:
          type: string
        currencyCode:
          type: string
    Error:
      type: object
      properties:
        errorMessage:
          type: string
        errorCode:
          type: string