Narmi documents API
The documents API from Narmi — 3 operation(s) for documents.
The documents API from Narmi — 3 operation(s) for documents.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/narmi-documents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Narmi Public account balances Documents 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: documents
paths:
/v1/documents/:
get:
operationId: documents_list
description: 'List the authenticated user''s documents (statements, tax forms, etc.).
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 documents
parameters:
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
tags:
- documents
security:
- oauth2:
- read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedDocumentList'
description: ''
'404':
content:
application/json:
schema:
type: object
properties:
id:
type: string
message:
type: string
examples:
Http404:
value:
id: api_error
message: Not found.
description: May be returned if the statements feature is not available.
description: May be returned if the statements feature is not available.
x-stoplight:
id: jj43wihawhdct
/v1/documents/{document_id}/:
get:
operationId: documents_retrieve
description: "Fetch a specific statement by statement ID. \n\nAn invalid document ID will typically return the documented error response, however if the `statements` feature is not enabled, it may also return a blank 404 response.\n\nThis endpoint will return a 404 if a trailing slash is included in the request.\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: Retrieve a document
parameters:
- in: query
name: data
schema:
type: boolean
description: Whether or not to include base64 encoded file data in the `data` field.
- in: path
name: document_id
schema:
type: string
pattern: ^[-_%A-Za-z0-9+\/=]+$
required: true
tags:
- documents
security:
- oauth2:
- read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserDocument'
description: ''
'404':
content:
application/json:
schema:
type: object
properties:
id:
type: string
message:
type: string
examples:
Http404:
value:
id: api_error
message: Not found.
description: May be returned if the statements feature is not available.
description: May be returned if the statements feature is not available.
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceFailureError'
description: ''
x-stoplight:
id: okrkhkrpuox5p
/v1/documents/download/:
post:
operationId: documents_download_zip
description: 'Creates a zip file of the requested document ids.
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 zip file of selected documents
parameters:
- in: query
name: share
schema:
type: integer
enum:
- 1
description: When 1, zip file will be emailed to the request's user's email instead of returning it in the response.
tags:
- documents
security:
- oauth2:
- write
responses:
'200':
content:
application/zip:
schema:
type: string
format: binary
description: Zip file containing PDF documents organized by account.
examples:
ZipFile:
value: PK...
description: Zip file containing requested PDF documents organized by account.
description: Returns selected pdf documents inside zip file.
'400':
description: Will occur if no document ids or too many document ids are specified.
'403':
description: May be returned if the statements or enable_document_filters feature(s) are not available.
'202':
description: Zip file is being prepared for sharing via email.
'413':
description: May be returned if the zip file is too large to share via email.
'503':
description: May be returned if an empty zip file would be returned.
x-stoplight:
id: 3s7tkyokn7zyn
components:
schemas:
ServiceFailureError:
type: object
properties:
id:
type: string
default: api_connection_error
message:
type: string
default: Sorry, we were unable to process your request, please check back soon.
x-stoplight:
id: 6qutj3sa03we7
DocumentResponse:
type: object
properties:
document:
$ref: '#/components/schemas/Document'
required:
- document
x-stoplight:
id: b2w8p4gq2jw1j
DocumentWithData:
type: object
properties:
id:
type: string
readOnly: true
description: Document ID. The format of the ID can vary between document stores.
example: f5bad0c3-38ca-4ad3-bbf6-b5ce8ad500d5
type:
type:
- string
- 'null'
readOnly: true
description: Document type, this value can vary between document stores.
example: statement
type_label:
type:
- string
- 'null'
readOnly: true
description: Human readable type, defaults to value of `type` field when missing.
example: statement
description:
type:
- string
- 'null'
readOnly: true
example: Account 43333
created_at:
type: string
readOnly: true
description: The date-time the document was posted.
example: '2018-10-30T00:00:00-04:00'
account_id:
type: string
readOnly: true
data:
type: string
format: uri
description: Binary PDF file data, base64 encoded. This is included when `data` parameter is specified.
example: dGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5ndGVzdGRhdGFmaWxlc3RyaW5nCg==
url:
type:
- string
- 'null'
format: uri
description: The URL of the retrieve API call.
readOnly: true
example: https://demo2-api.uat.narmitech.com/v1/documents/f5bad0c3-38ca-4ad3-bbf6-b5ce8ad500d5?data=true
x-stoplight:
id: xrmejhjmnyf1h
Document:
type: object
properties:
id:
type: string
readOnly: true
description: Document ID. The format of the ID can vary between document stores.
example: f5bad0c3-38ca-4ad3-bbf6-b5ce8ad500d5
type:
type:
- string
- 'null'
readOnly: true
description: Document type, this value can vary between document stores.
example: statement
type_label:
type:
- string
- 'null'
readOnly: true
description: Human readable type, defaults to value of `type` field when missing.
example: statement
description:
type:
- string
- 'null'
readOnly: true
example: Account 43333
created_at:
type: string
readOnly: true
description: The date-time the document was posted.
example: '2018-10-30T00:00:00-04:00'
account_id:
type: string
readOnly: true
url:
type:
- string
- 'null'
format: uri
description: The URL of the retrieve API call.
readOnly: true
example: https://demo2-api.uat.narmitech.com/v1/documents/f5bad0c3-38ca-4ad3-bbf6-b5ce8ad500d5?data=true
x-stoplight:
id: 9mjrd0thewwlb
DocumentWithDataResponse:
type: object
properties:
document:
$ref: '#/components/schemas/DocumentWithData'
required:
- document
x-stoplight:
id: 64o2djny8szc0
PaginatedDocumentList:
type: object
required:
- documents
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?offset=400&limit=100
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?offset=200&limit=100
results:
type: array
items:
$ref: '#/components/schemas/Document'
x-stoplight:
id: 0aow4ftsieugm
UserDocument:
oneOf:
- $ref: '#/components/schemas/DocumentResponse'
- $ref: '#/components/schemas/DocumentWithDataResponse'
x-stoplight:
id: hcy6wln20g4we
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