Document Search
Symitar in Platform
>
Document Search
openapi: 3.0.1
info:
title: Symitar in Platform API - DocumentSearch
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: DocumentSearch
description: Synergy document search and retrieval operations
paths:
/verifications/synergy/document/search:
post:
operationId: searchDocuments
tags:
- DocumentSearch
summary: Search Synergy documents
description: |
Starts a Synergy ItemsSearch for MEMBER ID documents in the MEMBERSHIP cabinet. Accepts optional accountNumber, name, and taxId fields (at least one required). Picard maps populated fields into Synergy SearchClauses with Operator `con`, polls Synergy if the search is asynchronous, and returns a curated list of results. Independent of verification events and Spanner document records.
requestBody:
required: true
content:
application/json:
schema:
type: object
description: |
Picard search criteria. At least one field is required. Picard maps populated fields to Synergy SearchClauses with Operator `con` against MEMBERSHIP / MEMBER ID.
properties:
accountNumber:
type: string
description: Mapped to Synergy index ACCOUNT NUMBER.
example: '1'
name:
type: string
description: Mapped to Synergy index NAME.
example: JEAN LUC PICARD
taxId:
type: string
description: Mapped to Synergy index TAX ID.
example: '123456789'
responses:
'200':
description: Search completed; results returned in the response.
content:
application/json:
schema:
type: object
required:
- results
- paging
properties:
results:
type: array
items:
type: object
required:
- uniqueItemId
properties:
uniqueItemId:
type: string
synergyInstitutionName:
type: string
documentInfo:
type: object
properties:
legacyDocumentId:
type: integer
format: int32
documentName:
type: string
modificationDate:
type: string
checkReturnReason:
type: string
paging:
type: object
required:
- results
- total
properties:
results:
type: integer
format: int32
total:
type: integer
format: int32
'400':
description: Invalid request body.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message.
'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: Internal server error.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message.
'502':
description: Synergy upstream error.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message.
/verifications/synergy/document/search/{uniqueItemId}:
get:
operationId: getDocument
tags:
- DocumentSearch
summary: Retrieve Synergy document pages
description: |
Retrieves the raw document bytes (typically a single PDF containing all pages) from Synergy for a UniqueItemId returned by a prior document search. Independent of verification events and Spanner document records.
parameters:
- name: uniqueItemId
in: path
required: true
description: The Synergy UniqueItemId from a prior search result.
schema:
type: string
example: 1|1|947f1d73-00e0-eb11-8109-00505695b5b4|ec8962da-2f97-f111-818f-00505695829c
responses:
'200':
description: Document retrieved successfully.
content:
application/pdf:
schema:
type: string
format: binary
image/jpeg:
schema:
type: string
format: binary
image/png:
schema:
type: string
format: binary
application/octet-stream:
schema:
type: string
format: binary
'400':
description: Invalid request.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message.
'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.
'404':
description: Document not found.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message.
'500':
description: Internal server error.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message.
'502':
description: Synergy upstream error.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message.
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