Addresses
Symitar in Platform
>
Addresses
openapi: 3.0.1
info:
title: Symitar in Platform API - Addresses
version: v1
description: API to interact with Symitar in Platform
contact:
name: Picard
url: https://www.jackhenry.com/
email: DC-Picard-Product@jackhenry.com
servers:
- url: https://platform.banno.com
description: Production Endpoint
components:
securitySchemes:
OpenIDEnterprise:
type: openIdConnect
openIdConnectUrl: https://login.jackhenry.com/.well-known/openid-configuration
description: "Jack Henry Enterprise Authentication. \n\n ### Supported Flows\n \n #### 1. Authorization Code Flow\n * **Use Case:** Person-at-keyboard logins (FI or JH Employees).\n * **Security:** Supports/recommends PKCE (S256). Supports Pushed Authorization Requests (PAR), and DPoP token binding.\n * **Client Auth:** Supports/recommends `client_assertion` (Private Key JWT), also supports `client_secret`.\n \n #### 2. Client Credentials Flow\n * **Use Case:** System services and machine-to-machine integrations.\n * **Security:** Supports DPoP token binding.\n * **Client Auth:** **Requires** `client_assertion` (Private Key JWT).\n"
OpenIDConsumer:
type: openIdConnect
openIdConnectUrl: https://digital.garden-fi.com/.well-known/openid-configuration
description: "Jack Henry Consumer Authentication. \n\n> **WARNING: FI-SPECIFIC ROUTING**\n> The authorization server is currently pointing to our **Sandbox Environment** (`digital.garden-fi.com`) so you can test this documentation. In production code, this domain **must** be replaced with the specific Financial Institution's domain.\n> Example: Replace `{API-ENVIRONMENT}` in `https://{API-ENVIRONMENT}/.well-known/openid-configuration` with `digital.garden-fi.com` for the Garden financial institution.\n\n### Supported Flows\n\n#### 1. Authorization Code Flow\n* **Use Case:** Person-at-keyboard logins (customer or member of FI).\n* **Security:** Supports/recommends PKCE (S256). Supports Pushed Authorization Requests (PAR), and DPoP token binding.\n* **Client Auth:** Supports `client_secret`.\n"
tags:
- name: Addresses
description: Account address operations
paths:
/a/api/picard/v1/{InstitutionUniversalId}/accounts/{accountNumber}/addresses:
get:
operationId: fetchAccountAddresses
tags:
- Addresses
summary: Fetch Account Addresses
description: |
Retrieves addresses associated with an account by first loading the
account's Name sub-records from SymXchange Account CRUD, extracting
each active Name's `MbrAddrNumber`, and then loading the actual
address records from the SymXchange MbrAddress CRUD service.
This endpoint is account-scoped for API consumers, but the underlying
address records are member-address records keyed by `MbrAddrNumber`,
not by account number.
A Name record is active when its `EffectiveDate` is on or before today
and its `ExpirationDate` is absent or on or after today.
Seasonal and mail-override addresses are stored inline on the Name
record instead of as their own MbrAddress record. They are returned as
additional `MemberAddress` entries — carrying `mailOverride`,
`effectiveDate` and `expirationDate` and no `mbrAddrNumber` — appended
after the physical addresses, never replacing them.
The response is an array of `MemberAddress` objects. An empty array is
returned if no usable addresses exist for the account.
parameters:
- name: InstitutionUniversalId
in: path
description: A unique identifier to establish the identity of an Institution/Environment/Brand combination
required: true
schema:
type: string
- name: accountNumber
in: path
required: true
description: |
10-digit account number. Use the `accountNumber` field from an `AccountInfo` or `ShareInfo` response.
schema:
type: string
example: 0000379758
responses:
'200':
description: Successful response — array of member-address records linked to the account
content:
application/json:
schema:
type: array
items:
type: object
description: Symitar member-address information linked to an account
properties:
mbrAddrNumber:
type: string
description: Symitar member-address identifier (`MbrAddrNumber`)
nullable: true
addressType:
type: integer
description: Address type code
nullable: true
street:
type: string
description: Street address
nullable: true
extraAddress:
type: string
description: Additional address information (e.g., apartment, suite)
nullable: true
city:
type: string
description: City name
nullable: true
state:
type: string
description: State/province abbreviation
nullable: true
zipCode:
type: string
description: ZIP/postal code
nullable: true
country:
type: string
description: Country name
nullable: true
countryCode:
type: string
description: ISO country code
nullable: true
carrierRoute:
type: string
description: USPS carrier route
nullable: true
headquarters:
type: integer
description: Headquarters flag (0 = no, 1 = yes)
nullable: true
fileType:
type: integer
description: Symitar member-address file type (`MbrAddrFileType`)
nullable: true
createDate:
type: string
description: Date address was created (YYYY-MM-DD)
nullable: true
disconnectDate:
type: string
description: Date address was disconnected (YYYY-MM-DD)
nullable: true
expirationDate:
type: string
description: Date address expires (YYYY-MM-DD)
nullable: true
fmLastDate:
type: string
description: Last FM activity date (YYYY-MM-DD)
nullable: true
fmLastPurgeDate:
type: string
description: Last FM purge date (YYYY-MM-DD)
nullable: true
recordChangeDate:
type: string
description: Last modification date (YYYY-MM-DD)
nullable: true
memberName:
type: string
description: Legacy field from the old Name-based response; not populated by the current MbrAddress-backed flow
deprecated: true
nullable: true
relationshipCode:
type: string
description: Legacy field from the old Name-based response; not populated by the current MbrAddress-backed flow
deprecated: true
nullable: true
'400':
description: Bad request — SymX config not found for institution
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- details
properties:
type:
description: A string path which uniquely classifies the domain of the error.
type: string
nullable: false
example: jackhenry/operation-failed
title:
description: A end-user readable string title of the error type.
nullable: false
type: string
details:
description: An array of end-user readable strings which provide additional details for the error message.
type: array
nullable: false
items:
type: string
data:
type: object
description: |
Additional data that could be useful to a developer or for handing the error programmatically. The schema for the data in this object is intentionally left undefined.
nullable: true
'401':
description: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
'403':
description: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401, the clients identity is known to the server.
'500':
description: An unexpected internal server error occurred while processing the request.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- details
properties:
type:
description: A string path which uniquely classifies the domain of the error.
type: string
nullable: false
example: jackhenry/operation-failed
title:
description: A end-user readable string title of the error type.
nullable: false
type: string
details:
description: An array of end-user readable strings which provide additional details for the error message.
type: array
nullable: false
items:
type: string
data:
type: object
description: |
Additional data that could be useful to a developer or for handing the error programmatically. The schema for the data in this object is intentionally left undefined.
nullable: true
examples:
internalServerError:
summary: Internal server error
value:
type: general/internal-server-error
title: Internal server error
details:
- Unexpected internal server error
Did this page help you?
Why was this page helpful?
Why wasn't this page helpful?
Thank you for your feedback!
Last updated Tue Sep 15 2026