Narmi users API
The users API from Narmi — 3 operation(s) for users.
The users API from Narmi — 3 operation(s) for users.
openapi: 3.0.3
info:
title: Narmi Public account balances users 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: users
paths:
/v1/users/:
get:
operationId: users_list
description: 'List the authenticated user''s joint access users and self. This endpoint is now deprecated and only returns information about the currently 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 joint users
tags:
- users
security:
- oauth2:
- banking:users:read
deprecated: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UsersResponse'
examples:
ListUsers:
value:
users:
- email: demo@narmitech.com
core_provided_email: null
username: testuser
id: 07231f46-23f1-482e-bdc4-35f2267b60e6
institution_user_identifier: ''
updated_at: '2018-11-02T03:29:18.317000+00:00'
addresses: []
phone_numbers: []
first_name: ''
last_name: ''
paper_statements: true
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: true
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-04-22T21:06:02.006532+00:00'
segment: ''
metadata: {}
has_username: true
has_password: true
has_accepted_latest_terms: false
requires_enrollment_code_verification: false
enabled_estatements_at: null
is_converting: false
has_permitted_device: true
has_backup_codes: false
summary: List joint users
description: ''
x-stoplight:
id: colhfovx5ye9w
/v1/users/{user_uuid}/:
get:
operationId: users_retrieve
description: 'Fetch a user specified by UUID. A user can be retrieved when it is a member of an associated account.
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: Retrieve a user
parameters:
- in: path
name: user_uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- users
security:
- oauth2:
- read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
examples:
RetrieveUser:
value:
user:
email: demo@narmitech.com
core_provided_email: null
username: testuser
id: 07231f46-23f1-482e-bdc4-35f2267b60e6
institution_user_identifier: ''
updated_at: '2018-11-02T03:29:18.317000+00:00'
addresses: []
phone_numbers: []
first_name: ''
last_name: ''
paper_statements: true
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: true
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-04-22T21:06:02.006532+00:00'
segment: ''
metadata: {}
has_username: true
has_password: true
has_accepted_latest_terms: false
requires_enrollment_code_verification: false
enabled_estatements_at: null
is_converting: false
has_permitted_device: true
has_backup_codes: false
summary: Successfully retrieve a user
description: ''
'404':
description: No response body
x-stoplight:
id: wkklncnfcftkw
put:
operationId: users_update
description: 'Set a user''s preference to receive paper statements.
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: Update a user
parameters:
- in: path
name: user_uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedProfileUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProfileUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProfileUpdateRequest'
security:
- oauth2:
- write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
examples:
SuccessfullyUpdatedAUser:
value:
user:
email: demo@narmitech.com
core_provided_email: null
username: testuser
id: 07231f46-23f1-482e-bdc4-35f2267b60e6
institution_user_identifier: ''
updated_at: '2018-11-02T03:29:18.317000+00:00'
addresses: []
phone_numbers: []
first_name: ''
last_name: ''
paper_statements: true
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: true
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-04-22T21:06:02.006532+00:00'
segment: ''
metadata: {}
has_username: true
has_password: true
has_accepted_latest_terms: false
requires_enrollment_code_verification: false
enabled_estatements_at: null
is_converting: false
has_permitted_device: true
has_backup_codes: false
summary: Request successfully sets eStatements to `true`.
description: ''
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionDeniedError'
examples:
PermissionDenied:
value:
id: permission_denied
message: Permission is required to disable eStatements.
summary: Setting eStatements to false fails when setting to `true`.
description: ''
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
UserNotFound:
value:
id: not_found
message: User not found
summary: Setting user fails when user UUID is invalid.
description: ''
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
examples:
InvalidInput:
value:
id: invalid_request_error
message: paper_statements
summary: Field `paper_statements` is set with non-boolean data.
description: ''
x-stoplight:
id: wzpzs24yu0zp0
/v1/users/{user_uuid}/estatements/:
post:
operationId: users_estatements_create
description: 'Sets the authenticated user to no longer receive paper statements. Does not affect whether the user can view statements within Digital Banking.
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: Sets user to receive estatements
parameters:
- in: path
name: user_uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- users
security:
- oauth2:
- write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EstatementsResponse'
examples:
EnableEStatements:
value:
eStatements: true
summary: Enable eStatements
description: ''
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
UserNotFound:
value:
not_found: User not found
summary: User not found
MissingPaperlessStatementEnrollment/unenrollment:
value:
not_found: Permission is required to enable eStatements.
summary: Missing paperless statement enrollment/unenrollment
description: ''
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
examples:
MissingPaperlessStatementEnrollment/unenrollment:
value:
invalid_request_error: We could not enable your paperless statement setting at this time. Please contact Support.
summary: Missing paperless statement enrollment/unenrollment
description: ''
x-stoplight:
id: pi0cpo2fkshw0
delete:
operationId: users_estatements_destroy
description: 'Sets the authenticated user to receive paper statements. Does not affect whether the user can view statements within Digital Banking.
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: Sets user to receive paper statements
parameters:
- in: path
name: user_uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- users
security:
- oauth2:
- write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EstatementsResponse'
examples:
EnableEStatements:
value:
eStatements: true
summary: Enable eStatements
description: ''
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
UserNotFound:
value:
not_found: User not found
summary: User not found
MissingPaperlessStatementEnrollment/unenrollment:
value:
not_found: Permission is required to enable eStatements.
summary: Missing paperless statement enrollment/unenrollment
description: ''
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestError'
examples:
MissingPaperlessStatementEnrollment/unenrollment:
value:
invalid_request_error: We could not enable your paperless statement setting at this time. Please contact Support.
summary: Missing paperless statement enrollment/unenrollment
description: ''
x-stoplight:
id: goqw4lzxcqqkn
components:
schemas:
Address:
type: object
properties:
street_address:
type: string
street_address_2:
type: string
city:
type: string
region_code:
type: string
description: A region, province, parish, or any kind of subdivision represented by up to 3 characters. Typically an ISO 2-character state code.
postal_code:
type: string
description: Typically a five-digit numeric US ZIP Code.
country_code:
type: string
description: An ISO 3166-1 alpha-2 country code.
type:
type: string
required:
- city
- postal_code
- region_code
- street_address
x-stoplight:
id: xatva1xwqb0yk
BusinessPermissionsField:
type: object
properties:
model_str:
type: string
operation:
type: string
uuid:
type: string
format: uuid
required:
- model_str
- operation
- uuid
x-stoplight:
id: rhmxqgl8o5k8x
InvalidRequestError:
type: object
properties:
id:
type: string
default: invalid_request_error
message:
type: object
additionalProperties: {}
default:
field_name: Error description.
description: An error response detailing the field and the nature of the error.
x-stoplight:
id: aelrw6rc7wiph
UserResponse:
type: object
properties:
user:
$ref: '#/components/schemas/Profile'
required:
- user
x-stoplight:
id: yxxytavfdkjc0
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
UsersResponse:
type: object
properties:
users:
type: array
items:
$ref: '#/components/schemas/Profile'
required:
- users
x-stoplight:
id: oa4hi1e7x69nz
Profile:
type: object
description: ''
properties:
email:
type: string
readOnly: true
description: Email address for the registered user.
example: demo@narmitech.com
core_provided_email:
type: string
nullable: true
readOnly: true
description: Email address the user has registered to the core.
example: null
username:
type: string
nullable: true
readOnly: true
description: Username for the registered user.
example: testuser
id:
type: string
format: uuid
nullable: true
readOnly: true
description: UUID of the registered user. This value is used as the unique identifier for the user
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/narmi/refs/heads/main/openapi/narmi-users-api-openapi.yml