Admin Endpoints
Tap2Local
>
Admin Endpoints
Overview
Administrative endpoints for the Tap2Local service (formerly known as Merchant Acquisition), providing functionality for managing merchant enrollment configurations at the institutional level.
Features
This API provides endpoints for:
- Business Type Configuration - Create, retrieve, update, and delete moov to core business type mappings
- Product Type Configuration - Manage product type mappings for enrollment configuration
- Product Code Configuration - Configure product codes for merchant enrollment
- Business Account Code Configuration - Update business account code mappings
- Relationship Code Configuration - Manage relationship codes for enrollment
API Reference
openapi: 3.0.0
info:
version: 1.0.0
title: Tap2Local
tags:
- name: Enrollment Config
description: APIs for managing enrollment configuration such as business types and business account codes.
- name: Institution Enrollment Info
description: APIs for retrieving institution enrollment information.
- name: Merchant Enrollment Maintenance
description: APIs for merchant enrollment validation and maintenance, including business entity and beneficial owner updates.
servers:
- url: 'https://{API_ENVIRONMENT}'
variables:
API_ENVIRONMENT:
default: platform.banno-development.com
enum:
- banno.com
- platform.banno-staging.com
- platform.banno-development.com
paths:
/a/api/merchant-acquisition/v1/institutions/{institutionId}/enrollment-config/business-types:
parameters:
- $ref: '#/components/parameters/institutionId'
post:
tags:
- Enrollment Config
operationId: createMoovToCoreBusinessTypeMapping
description: Create a moov to core business type mapping
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
coreBusinessTypeCode:
type: string
nullable: true
example: 'S'
moovBusinessTypeCode:
type: string
nullable: true
example: 'soleProprietorship'
institutionId:
type: string
format: uuid
description: The institution ID for which the mapping is being created
responses:
'201':
description: Successfully created moov to core business type mapping
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
get:
tags:
- Enrollment Config
responses:
'200':
description: Successfully retrieved business types mapping
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessTypesResponse'
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
put:
tags:
- Enrollment Config
operationId: setMoovToCoreBusinessTypeMappings
description: Set moov to core business type mappings
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessTypeListRequest'
responses:
'200':
description: Successfully set moov to core business type mappings
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
/a/api/merchant-acquisition/v1/institutions/{institutionId}/enrollment-config/business-types/{businessTypeId}:
parameters:
- $ref: '#/components/parameters/institutionId'
- $ref: '#/components/parameters/businessTypeId'
delete:
tags:
- Enrollment Config
operationId: deleteMoovToCoreBusinessTypeMapping
description: Delete a moov to core business type mapping
responses:
'204':
description: Successfully deleted moov to core business type mapping
'403':
description: Missing needed abilities
'404':
description: Business type mapping not found
'500':
description: Internal server error (something went wrong in the server side)
/a/api/merchant-acquisition/v1/institutions/{institutionId}/enrollment-config/business-account-codes:
parameters:
- $ref: '#/components/parameters/institutionId'
post:
tags:
- Enrollment Config
operationId: createBusinessAccountCode
description: Create a business account code
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
businessAccountCode:
type: string
nullable: true
example: 'S'
institutionId:
type: string
format: uuid
description: The institution ID for which the mapping is being created
responses:
'201':
description: Successfully created business account code
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
get:
tags:
- Enrollment Config
responses:
'200':
description: Successfully retrieved business account codes mapping
content:
application/json:
schema:
$ref: '#/components/schemas/RetailEnrollmentConfig'
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
put:
tags:
- Enrollment Config
operationId: setBusinessAccountCodes
description: Set business account codes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
businessAccountCodes:
type: array
items:
type: string
description: List of business account codes.
instituionId:
type: string
format: uuid
description: The institution ID for which the mappings are being set
responses:
'200':
description: Successfully set business account codes
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
/a/api/merchant-acquisition/v1/institutions/{institutionId}/enrollment-config/business-account-codes/{businessAccountCode}:
parameters:
- $ref: '#/components/parameters/institutionId'
- $ref: '#/components/parameters/businessAccountCode'
delete:
tags:
- Enrollment Config
operationId: deleteBusinessAccountCode
description: Delete a business account code
responses:
'204':
description: Successfully deleted business account code
'403':
description: Missing needed abilities
'404':
description: Business account code not found
'500':
description: Internal server error (something went wrong in the server side)
/a/api/merchant-acquisition/v1/institutions/{institutionId}/enrollment-config/relationship-codes:
parameters:
- $ref: '#/components/parameters/institutionId'
post:
tags:
- Enrollment Config
operationId: createRelationshipCode
description: Add a valid relationship code entry for an FI
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
relationshipCode:
type: string
nullable: true
example: 'S'
institutionId:
type: string
format: uuid
description: The institution ID for which the mapping is being created
responses:
'201':
description: Successfully created relationship code
'400':
description: Invalid relationship codes
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
get:
tags:
- Enrollment Config
responses:
'200':
description: Successfully retrieved relationship codes mapping
content:
application/json:
schema:
$ref: '#/components/schemas/RelationshipEnrollmentConfig'
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
put:
tags:
- Enrollment Config
operationId: setRelationshipCodes
description: Set relationship codes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
relationshipCodes:
type: array
items:
type: string
description: List of relationship codes.
example: ['S', 'B']
instituionId:
type: string
format: uuid
description: The institution ID for which the mappings are being set
responses:
'200':
description: Successfully set relationship codes
'400':
description: Invalid relationship codes
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
/a/api/merchant-acquisition/v1/institutions/{institutionId}/enrollment-config/relationship-codes/{relationshipCode}:
parameters:
- $ref: '#/components/parameters/institutionId'
- $ref: '#/components/parameters/relationshipCode'
delete:
tags:
- Enrollment Config
operationId: deleteRelationshipCode
description: Delete a relationship code
responses:
'204':
description: Successfully deleted relationship code
'403':
description: Missing needed abilities
'404':
description: Relationship code not found
'500':
description: Internal server error (something went wrong in the server side)
/a/api/merchant-acquisition/v1/institutions/{institutionId}/accounts/search:
parameters:
- $ref: '#/components/parameters/institutionId'
- name: includeTempAccounts
in: query
description: Whether to include temporary accounts in the search results
required: false
schema:
type: boolean
default: false
post:
tags:
- Institution Enrollment Info
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
institutionId:
type: string
format: uuid
description: The institution ID for which the enrollment info is being requested
status:
type: string
enum:
- notEnrolled
- initializing
- ineligible
- enrolling
- pendingReview
- enrolled
- disabled
- cannotEnroll
- pendingFinalization
- errorsExist
description: Filter accounts by status. NOTE to include temp statuses you must set includeTempAccounts to true
example: 'pending'
responses:
'200':
description: Successfully retrieved institution enrollment info
content:
application/json:
schema:
type: object
properties:
accounts:
type: array
items:
$ref: '#/components/schemas/Account'
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
/a/api/merchant-acquisition/v1/institutions/{institutionId}/accounts/{userId}:
parameters:
- $ref: '#/components/parameters/institutionId'
get:
tags:
- Institution Enrollment Info
responses:
'200':
description: Successfully retrieved account info
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'404':
description: Account not found
'403':
description: Missing needed abilities
'500':
description: Internal server error (something went wrong in the server side)
components:
parameters:
institutionId:
in: path
name: institutionId
description: Id of the institution
required: true
schema:
type: string
format: uuid
businessTypeId:
in: path
name: businessTypeId
description: Id of the business type
required: true
schema:
type: string
format: uuid
businessAccountCode:
in: path
name: businessAccountCode
description: Id of the business account code
required: true
schema:
type: string
format: uuid
relationshipCode:
in: path
name: relationshipCode
description: Id of the relationship code
required: true
schema:
type: string
format: uuid
userId:
in: path
name: userId
description: Id of the user
required: true
schema:
type: string
format: uuid
schemas:
BusinessTypeMapping:
type: object
properties:
coreBusinessTypeCode:
type: string
nullable: true
example: 'S'
moovBusinessTypeCode:
type: string
nullable: true
example: 'soleProprietorship'
BusinessType:
type: object
properties:
typeCode:
type: string
description: Business type code
example: 'S'
typeDesc:
type: string
description: Business type description
example: 'Sole Proprietorship'
BusinessTypesResponse:
type: object
properties:
mappings:
type: array
items:
$ref: '#/components/schemas/BusinessTypeMapping'
coreBusinessTypes:
type: array
items:
$ref: '#/components/schemas/BusinessType'
description: List of core business types with codes and descriptions.
moovBusinessTypes:
type: array
items:
$ref: '#/components/schemas/BusinessType'
description: List of Moov business types with codes and descriptions.
BusinessAccountCode:
type: object
properties:
code:
type: string
description: Business account code
example: 'S'
desc:
type: string
description: Business account code description
example: 'Savings Account'
RetailEnrollmentConfig:
type: object
properties:
businessAccountCodes:
type: array
items:
type: string
description: List of business account codes.
availableBusinessAccountCodes:
type: array
items:
$ref: '#/components/schemas/BusinessAccountCode'
description: List of available business account codes with descriptions.
RelationshipCode:
type: object
properties:
code:
type: string
description: Relationship code.
example: 'S'
desc:
type: string
description: Description of the relationship code.
example: 'Secondary on Account'
RelationshipEnrollmentConfig:
type: object
properties:
relationshipCodes:
type: array
items:
type: string
description: List of relationship codes from DB.
example: ['S', 'B']
availableRelationshipCodes:
type: array
items:
$ref: '#/components/schemas/RelationshipCode'
description: List of available relationship codes with descriptions.
BusinessTypeListRequest:
type: object
properties:
businessTypeMappings:
type: array
items:
$ref: '#/components/schemas/BusinessTypeMapping'
instituionId:
type: string
format: uuid
description: The institution ID for which the mappings are being set
Account:
type: object
properties:
userId:
type: string
format: uuid
description: The user ID associated with the account
example: '3b7f9c4e-2d8a-4e1b-9f6c-5a8d3e7b2c1a'
moovAccountId:
type: string
format: uuid
description: The Moov account ID
example: 'f2c8b5d1-6e3a-4f9b-a7d2-9c4e1b8f3a5d'
walletId:
type: string
format: uuid
description: The wallet ID
example: '8d5a2f7c-1b9e-4a3d-b6f8-2c7e4a1d9b5f'
walletPaymentMethodId:
type: string
format: uuid
description: The wallet payment method ID
example: 'a1d9b5f8-4e3c-2a7d-9b6f-8c5e2a1d4b7f'
organizationId:
type: string
format: uuid
description: The organization ID
example: '5c2e8a1d-9b7f-4e3a-a6d2-1f8c5b9e4a7d'
moovAccountName:
type: string
description: The name of the Moov account
example: 'RIVERSIDE COMMUNITY CREDIT UNION'
institutionId:
type: string
format: uuid
description: The institution ID
example: '7a4d2f9e-5b8c-1e3a-9d6f-4c7e8a2b5d1f'
entityId:
type: string
description: The entity ID
example: 'RCU5492'
accountType:
type: string
description: The type of account
enum:
- business
- individual
example: 'business'
status:
type: string
description: The current status of the account
enum:
- enrolled
- pending
- inactive
example: 'pending'
lastStatusChanged:
type: string
format: date-time
description: The timestamp when the status was last changed
example: '2025-12-18T14:22:15.123456Z'
Did this page help you?
Why was this page helpful?
Why wasn't this page helpful?
Thank you for your feedback!
Last updated Fri Jan 16 2026