Akoya Apps Management API OpenAPI specification
By hovering on the code, a clipboard icon will appear on the top right. Use it to copy the code. Then paste into your favorite text or code editor and save as a YAML file.
Akoya Apps Management API v2.0
openapi: 3.1.0
info:
title: Akoya Apps Management API v2.0
description: |-
The Akoya Apps Management API helps you create and update your applications on the Akoya network.
Apps Management API updates:
- v2.0
- API updated to support DCR standards
- v1.3.1
- Updated description for the Akoya providers by product endpoint:
- Corrected query examples.
- v1.3
- `put-subscriptions` now supports adding products to subscriptions. When products are added, the app must send end-users back through authorization to consent to the added product.
- `get-subscriptions-appId` is updated with a new response to support ability to add products (above).
- `get-apps` now returns Akoya products used by apps.
- The service token now requires the scope parameter to indicate the Akoya service used (Management API).
- Additional special characters added to `name` in app creation. `#$&'()*+,-./|–é`
- v1.2
- When searching providers for supported Akoya products, you're now able to indicate if you'd like providers who match ALL of your requested products or ANY (some).
- v1.1
- You may now GET a list of your apps and their details.
contact:
name: Akoya Support
url: 'https://www.akoya.com'
email: [email protected]
license:
name: Apache License Version 2.0
url: 'https://www.apache.org/licenses/LICENSE-2.0'
version: 2.0.0
servers:
- url: sandbox-api.akoya.com
description: Sandbox API server
- url: api.akoya.com
description: Production API server
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerAuth:
type: http
scheme: bearer
security:
- bearerAuth: []
paths:
'/manage/{version}/apps/register':
post:
tags:
- Apps
summary: Create App
description: |-
Creates an application. This endpoint will automatically subscribe the created app to all the valid providers.
- `client_name` should be alphanumeric and may include special characters: `#$&'()\*+,-./|-é.`. `client_name` needs to be unique. You cannot create two applications with the same `client_name`.
- `logo_uri` must be a URL to a file (Required).
- Minimum height: 200px
- Minimum width: 200px
- Maximum height: 1024px
- Maximum width: 1024px
- File types: transparent PNG or JPG
- Maximum file size: 2 MB
- `icon_uri` must be a URL to a file (Optional).
- Must be square.
- Height = width.
- Minimum height: 40px
- Minimum width: 40px
- Maximum height: 200px
- Maximum width: 200px
- File types: transparent PNG or JPG
- Maximum file size: 2 MB
- `scope`: Products this app will use. This product list needs to be provided as a string where the products are space-seperated
operationId: post-register
requestBody:
content:
application/json:
schema:
type: object
properties:
client_name:
type: string
description:
type: string
redirect_uris:
type: array
items:
type: string
logo_uri:
type: string
icon_url:
type: string
contacts:
type: array
items:
type: string
client_uri:
type: string
scope:
type: string
x-examples:
Example 1:
client_name: app_name
description: this is app description
redirect_uris:
- 'https://akoya.com'
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
icon_url: 'https://dummyimage.com/240x240/000/ffffff.png'
contacts:
- [email protected]
client_uri: 'http://localhost:8888'
scope: account_info payments
examples:
Request body:
value:
client_name: app_name
description: this is app description
redirect_uris:
- 'https://example.com/callback'
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
icon_url: 'https://dummyimage.com/240x240/000/ffffff.png'
contacts:
- [email protected]
client_uri: 'http://localhost:8888'
scope: account_info payments
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-66981abd-3baf2692467140e0aeffcb57d6997db9
content:
application/json:
schema:
type: object
properties:
client_id:
type: string
client_secret:
type: string
client_name:
type: string
redirect_uris:
type: array
items:
type: string
client_uri:
type: string
contacts:
type: array
items:
type: string
description:
type: string
logo_uri:
type: string
icon_url:
type: string
scope:
type: string
grant_types:
type: array
items:
type: string
status:
type: string
x-examples:
Example 1:
client_id: client_id
client_secret: client_secret
client_name: app_name
redirect_uris:
- 'https://akoya.com'
client_uri: 'https://akoya.com'
contacts:
- [email protected]
description: this is app description
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
icon_url: 'https://dummyimage.com/240x240/000/ffffff.png'
scope: account_info payments
grant_types:
- authorization_code
- refresh_token
status: Approved
example:
client_id: client_id
client_secret: client_secret
client_name: app_name
redirect_uris:
- 'https://akoya.com'
client_uri: 'https://akoya.com'
contacts:
- [email protected]
description: this is app description
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
icon_url: 'https://dummyimage.com/240x240/000/ffffff.png'
scope: account_info payments
grant_types:
- authorization_code
- refresh_token
status: Approved
examples:
200 OK:
value:
client_id: client_id
client_secret: client_secret
client_name: app_name
redirect_uris:
- 'https://akoya.com'
client_uri: 'https://akoya.com'
contacts:
- [email protected]
description: this is app description
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
icon_url: 'https://dummyimage.com/240x240/000/ffffff.png'
scope: account_info payments
grant_types:
- authorization_code
- refresh_token
status: Approved
'400':
description: Invalid Argument
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-66981a23-be7c421caa3d4727a2a4033e437d3f9c
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
x-examples:
Example 1:
code: InvalidArgument
message: unable to validate image
example:
code: InvalidArgument
message: unable to validate image
examples:
400 Invalid Argument:
value:
code: InvalidArgument
message: unable to validate image
'409':
description: Already Exists
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-66988d4a-737ddfea0a324298955ee24ad635d24e
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
x-examples:
Example 1:
code: AlreadyExists
message: This app name already exists for this recipientId.
example:
code: AlreadyExists
message: This app name already exists for this recipientId.
examples:
409 Already Exists:
value:
code: AlreadyExists
message: This app name already exists for this recipientId.
x-stoplight:
id: hp82qx1q8uuqb
parameters:
- schema:
type: string
name: version
in: path
required: true
description: Management API major version (e.g. v2)
'/manage/{version}/recipients/{recipientId}/apps/{appId}':
patch:
tags:
- Apps
summary: Update App
description: |-
Update your application. The request format follows the JSON Patch specification ([<u>RFC 6902</u>](https://datatracker.ietf.org/doc/html/rfc6902/)<u>).</u>
Only the add, replace, and remove (for lists only) operations are supported.
`client_name` cannot be updated. You cannot change an application's name after it's created.
requestBody:
content:
application/json:
schema:
type: array
items:
type: object
properties:
op:
type: string
path:
type: string
value:
type: string
x-examples:
Example 1:
- op: replace
path: /description
value: this is a modified description
examples:
Replace description:
value:
- op: replace
path: /description
value: this is a modified description
Replace description and add redirect URI:
value:
- op: replace
path: /description
value: this is a modified description
- op: add
path: /redirect_uris/1
value: 'https://random2.com'
Reset client secret:
value:
- op: replace
path: /client_secret
value: true
Add a new redirect URI:
value:
- op: add
path: /redirect_uris/0
value: 'https://example.com/callback'
description: "The request body will vary depending on what attributes of your application you're looking to update or replace.\r\n\r\n`\"op\"` (operation) accepted values: \r\n- `\"add\"`\r\n- `\"replace\"`\r\n - Use the `\"replace\"` operation when resetting your client secret.\r\n- `\"remove\"`\r\n\r\n`\"path\"` (app attribute) accepted values:\r\n- `\"/description\"` (app description)\r\n- `\"/redirect_uris/{number}`\" `{number}` is the redirect URI you want to alter (e.g. the first, the second). The redirect URI order is as shown in the Data Recipient Hub. Example: `\"/redirect_uris/1\"` refers to the second listed redirect URI.\r\n- `\"/client_secret\"`\r\n\r\n`\"value\"` (the value of the updated attribute) accepted values:\r\n- `true`(resetting client secret ONLY)\r\n- Free text for other operation\r\n\r\n> **Note**\r\n>\r\n> You can enter more than one operation in the same request.\r\n"
operationId: patch-app
parameters:
- name: recipientId
in: path
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
schema:
type: string
required: true
example: '{{recipient_id}}'
- name: appId
in: path
description: The ID of your application
schema:
type: string
required: true
example: '{{appId}}'
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-669845bf-9095f59723be485783308ffc7f6f7be7
content:
application/json:
schema:
type: object
properties:
client_id:
type: string
client_name:
type: string
owner:
type: string
redirect_uris:
type: array
items:
type: string
client_uri:
type: string
contacts:
type: array
items:
type: string
description:
type: string
logo_uri:
type: string
scope:
type: array
items:
type: string
x-examples:
Example 1:
client_id: c8a14d90-7843-4b4f-995f-e081ac99fa96
client_name: app_name_2
owner: paprika_rec
redirect_uris:
- 'https://akoya.com'
client_uri: 'http://localhost:8888'
contacts:
- [email protected]
description: this is a modified description
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
scope:
- account_info
- payments
examples:
200 OK Replaced description:
summary: 200 OK
value:
client_id: c8a14d90-7843-4b4f-995f-e081ac99fa96
client_name: app_name_2
owner: paprika_rec
redirect_uris:
- 'https://example.com/callback'
client_uri: 'http://localhost:8888'
contacts:
- [email protected]
description: this is a modified description
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
scope:
- account_info
- payments
200 OK Added redirect URI and replaced description:
summary: 200 OK - Add a new Redirect URI
value:
client_id: c8a14d90-7843-4b4f-995f-e081ac99fa96
client_name: app_name_2
owner: paprika_rec
redirect_uris:
- 'https://example.com/callback1'
- 'https://example.com/callback2'
client_uri: 'http://localhost:8888'
contacts:
- [email protected]
description: this is a modified description
logo_uri: 'https://dummyimage.com/240x240/000/ffffff.png'
scope:
- account_info
- balances
'400':
description: Invalid Argument
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-6698469c-c1817b040ae2492f85de1078cec6e974
content:
application/json:
schema:
type: array
items:
type: object
properties:
code:
type: string
message:
type: string
x-examples:
Example 1:
- code: InvalidArgument
message: /client_name may not be modified
example:
- code: InvalidArgument
message: /client_name may not be modified
examples:
400 Invalid Argument:
value:
- code: InvalidArgument
message: /client_name may not be modified
x-stoplight:
id: kro12n7f23uhn
parameters:
- schema:
type: string
name: recipientId
in: path
required: true
description: Recipient ID
- schema:
type: string
name: appId
in: path
required: true
description: The ID of your application
- schema:
type: string
name: version
in: path
required: true
description: Management API major version (e.g. v2)
'/manage/{version}/recipients/{recipientId}/apps':
get:
tags:
- Apps
summary: Get All Apps
operationId: get-apps
description: |-
Get a paginated list of all your applications.
You can use the `next` and the `prev` links to page through the response. You can also pass a `offset` and a `limit` parameter to get a specific page. The default page size is 50, and the maximum allowed page size is 500.
parameters:
- name: offset
in: query
schema:
type: integer
example: 10
description: Number of skipped items (default = 0)
- name: limit
in: query
schema:
type: integer
example: 2
description: 'Number of items per page (default = 50, must be <=500)'
- name: recipientId
in: path
schema:
type: string
required: true
example: '{{recipient_id}}'
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-669826f3-3c87279718484dfaaac99a81938d5a8f
content:
application/json:
schema:
type: object
properties:
page:
type: object
properties:
total_elements:
type: integer
links:
type: object
properties:
next:
type: object
properties:
href:
type: string
prev:
type: object
properties:
href:
type: string
apps:
type: array
items:
type: object
properties:
client_id:
type: string
client_name:
type: string
description:
type: string
redirect_uris:
type: array
items:
type: string
client_uri:
type: string
logo_uri:
type: string
contacts:
type: array
items:
type: string
scope:
type: string
owner:
type: string
x-examples:
Example 1:
page:
total_elements: 221
links:
next:
href: /manage/v2/recipients/paprika_rec/apps?limit=2&offset=12
prev:
href: /manage/v2/recipients/paprika_rec/apps?limit=2&offset=8
apps:
- client_id: a24fd6b6-fa38-482e-9c91-26ca4bc1a490
client_name: paprika_testNew_4
description: this is app description
redirect_uris:
- 'https://akoya.com'
client_uri: 'http://localhost:8888'
logo_uri: 'https://picsum.photos/1024/1024.jpg'
contacts:
- [email protected]
scope: balances account_info payments investments customers
owner: paprika_rec
- client_id: dbc84f1b-e6f1-4d09-a928-16411a7f87ea
client_name: paprika_testNew_5
description: this is app description
redirect_uris:
- 'https://akoya.com'
client_uri: 'http://localhost:8888'
logo_uri: 'https://picsum.photos/1024/1024.jpg'
contacts:
- [email protected]
scope: payments investments customers balances account_info
owner: paprika_rec
example:
page:
total_elements: 221
links:
next:
href: /manage/v2/recipients/paprika_rec/apps?limit=2&offset=12
prev:
href: /manage/v2/recipients/paprika_rec/apps?limit=2&offset=8
apps:
- client_id: a24fd6b6-fa38-482e-9c91-26ca4bc1a490
client_name: paprika_testNew_4
description: this is app description
redirect_uris:
- 'https://akoya.com'
client_uri: 'http://localhost:8888'
logo_uri: 'https://picsum.photos/1024/1024.jpg'
contacts:
- [email protected]
scope: balances account_info payments investments customers
owner: paprika_rec
- client_id: dbc84f1b-e6f1-4d09-a928-16411a7f87ea
client_name: paprika_testNew_5
description: this is app description
redirect_uris:
- 'https://akoya.com'
client_uri: 'http://localhost:8888'
logo_uri: 'https://picsum.photos/1024/1024.jpg'
contacts:
- [email protected]
scope: payments investments customers balances account_info
owner: paprika_rec
examples:
200 OK:
value:
page:
total_elements: 221
links:
next:
href: /manage/v2/recipients/paprika_rec/apps?limit=2&offset=12
prev:
href: /manage/v2/recipients/paprika_rec/apps?limit=2&offset=8
apps:
- client_id: a24fd6b6-fa38-482e-9c91-26ca4bc1a490
client_name: paprika_testNew_4
description: this is app description
redirect_uris:
- 'https://example.com/callback1'
client_uri: 'http://localhost:8888'
logo_uri: 'https://picsum.photos/1024/1024.jpg'
contacts:
- [email protected]
scope: balances account_info payments investments customers
owner: paprika_rec
- client_id: dbc84f1b-e6f1-4d09-a928-16411a7f87ea
client_name: paprika_testNew_5
description: this is app description
redirect_uris:
- 'https://example.com/callback2'
client_uri: 'http://localhost:8888'
logo_uri: 'https://picsum.photos/1024/1024.jpg'
contacts:
- [email protected]
scope: payments investments customers balances account_info
owner: paprika_rec
x-stoplight:
id: bu6iobkf2k9b3
parameters:
- schema:
type: string
name: version
in: path
required: true
description: Management API major version (e.g. v2)
- schema:
type: string
name: recipientId
in: path
required: true
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
'/manage/{version}/recipients/{recipientId}/products':
get:
tags:
- Products
summary: Get Purchased Products
operationId: get-products
description: Get a list of all your purchased Akoya products.
security:
- bearerAuth: []
parameters:
- name: recipientId
in: path
schema:
type: string
required: true
example: '{{recipient_id}}'
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-669752ce-eb6114c500be450a917eb1f9326df3bd
content:
application/json:
schema:
type: object
properties:
products:
type: array
items:
type: object
properties:
name:
type: string
display_name:
type: string
description:
type: string
required:
type: boolean
x-examples:
Example 1:
products:
- name: account_info
display_name: Account Info
description: 'Account display name, masked account number, type, description.'
required: true
- name: payments
display_name: Payments
description: Identifiers necessary to make ACH and RTP payments.
required: false
- name: investments
display_name: Accounts & Investments
description: Detailed information on underlying holdings and positions of investment accounts.
required: false
- name: customers
display_name: Customers
description: 'Verified contact information on file, including name, email, address, and phone number.'
required: false
- name: balances
display_name: Balances
description: 'Balances and rates of bank accounts, credit cards, loans, investments, and more.'
required: false
- name: transactions
display_name: Transactions
description: 'Up to two years of transaction data across account types, including amounts, dates, and descriptions.'
required: false
example:
products:
- name: account_info
display_name: Account Info
description: 'Account display name, masked account number, type, description.'
required: true
- name: payments
display_name: Payments
description: Identifiers necessary to make ACH and RTP payments.
required: false
- name: investments
display_name: Accounts & Investments
description: Detailed information on underlying holdings and positions of investment accounts.
required: false
- name: customers
display_name: Customers
description: 'Verified contact information on file, including name, email, address, and phone number.'
required: false
- name: balances
display_name: Balances
description: 'Balances and rates of bank accounts, credit cards, loans, investments, and more.'
required: false
- name: transactions
display_name: Transactions
description: 'Up to two years of transaction data across account types, including amounts, dates, and descriptions.'
required: false
examples:
200 OK:
value:
products:
- name: account_info
display_name: Account Info
description: 'Account display name, masked account number, type, description.'
required: true
- name: payments
display_name: Payments
description: Identifiers necessary to make ACH and RTP payments.
required: false
- name: investments
display_name: Accounts & Investments
description: Detailed information on underlying holdings and positions of investment accounts.
required: false
- name: customers
display_name: Customers
description: 'Verified contact information on file, including name, email, address, and phone number.'
required: false
- name: balances
display_name: Balances
description: 'Balances and rates of bank accounts, credit cards, loans, investments, and more.'
required: false
- name: transactions
display_name: Transactions
description: 'Up to two years of transaction data across account types, including amounts, dates, and descriptions.'
required: false
'401':
description: Unauthorized
headers:
Content-Type:
schema:
type: string
example: application/json
content:
application/json:
schema:
type: object
properties:
code:
type: integer
message:
type: string
x-examples:
Example 1:
code: 602
message: Customer not authorized
example:
code: 602
message: Customer not authorized
examples:
401 Unauthorized:
value:
code: 602
message: Customer not authorized
x-stoplight:
id: lptvnn8j5frjh
parameters:
- schema:
type: string
name: version
in: path
required: true
description: Management API major version (e.g. v2)
- schema:
type: string
name: recipientId
in: path
required: true
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
'/manage/{version}/recipients/{recipientId}/providers':
get:
tags:
- Products
summary: Get Valid Providers For Products
operationId: get-providers
description: |-
Get a paginated list of all providers connected to Akoya that support any of the products passed in as a query parameter (`products`).
You can use the `next` and the `prev` links to page through the response. You can also pass a `offset` and a `limit` parameter to get a specific page. The default page size is 50, and the maximum allowed page size is 500
parameters:
- name: products
in: query
schema:
type: string
example: balances
required: true
description: Akoya product (e.g. balances)
- name: recipientId
in: path
schema:
type: string
required: true
example: '{{recipient_id}}'
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-66975c0f-f0c01004a1d943b09e5752aeeeee115c
content:
application/json:
schema:
type: object
properties:
page:
type: object
properties:
total_elements:
type: integer
links:
type: object
properties:
next:
type: object
properties:
href:
type: string
providers:
type: array
items:
type: object
properties:
provider_id:
type: string
display_name:
type: string
provider_url:
type: string
x-examples:
Example 1:
page:
total_elements: 1632
links:
next:
href: /manage/v2/recipients/paprika_rec/providers?limit=50&offset=50&products=balances
providers:
- provider_id: 01_honest_bank
display_name: '01:Honest Bank right'
provider_url: 'https://honestbank.com'
- provider_id: 'fiserv:testdev60274'
display_name: 167th TFR Federal Credit Union
- provider_id: 'fiserv:22010'
display_name: 1st Advantage FCU
- provider_id: 'fiserv:41151'
display_name: 1st Bank of Sea Isle City - Personal
- provider_id: 'fiserv:28611'
display_name: 1st Capital Bank
- provider_id: 'fiserv:41057'
display_name: 1st Community Bank (IL) - Online Banking
- provider_id: 'fiserv:25228'
display_name: 1st National Bank
- provider_id: 'jackhenry:fnbhenning'
display_name: 1st National Bank Henning
- provider_id: 'fiserv:28451'
display_name: 1st State Bank (MI) - Personal
- provider_id: 'jackhenry:fsb-purdy'
display_name: 1st State Bank of Purdy
- provider_id: 'fiserv:8008'
display_name: 1st United Bank (MN) - Personal Banking
- provider_id: 'jackhenry:21stcb'
display_name: 21st Century Bank
- provider_id: 'fiserv:29990'
display_name: 22nd State Bank - Consumer/Small Business
- provider_id: 'fiserv:32768'
display_name: Abbott Laboratories Employee Credit Union (ALEC)
- provider_id: 'fiserv:testdev32768'
display_name: Abbott Laboratories Employee Credit Union (ALEC)
- provider_id: 'fiserv:60707'
display_name: ABCO Federal Credit Union
- provider_id: 'jackhenry:ablebanking'
display_name: ableBanking
- provider_id: 'jackhenry:abtgold'
display_name: AB&T
- provider_id: 'fiserv:40967'
display_name: Access Bank
- provider_id: 'fiserv:27272'
display_name: ACMG Federal Credit Union
- provider_id: 'fiserv:40574'
display_name: Adams Bank & Trust - Personal
- provider_id: 'fiserv:40672'
display_name: Adirondack Bank -Personal
- provider_id: 'fiserv:1972'
display_name: Affinity Plus Federal Credit Union
- provider_id: 'fiserv:24878'
display_name: Agricultural Federal Credit Union
- provider_id: 'fiserv:1975'
display_name: Air Academy Federal Credit Union
- provider_id: e2e_test_dp
display_name: Akoya E2E Test DP
- provider_id: 'fiserv:40215'
display_name: Alden State Bank (NY)
- provider_id: 'fiserv:23480'
display_name: Align Credit Union
- provider_id: 'fiserv:9116'
display_name: AllSouth Federal Credit Union
- provider_id: 'jackhenry:alternatives'
display_name: Alternatives Federal Credit Union
- provider_id: 'fiserv:28870'
display_name: Ambler Savings Bank - Personal
- provider_id: 'fiserv:61158'
display_name: American Bank of Baxter Springs
- provider_id: 'fiserv:2811'
display_name: American Bank (PA) - Online Banking
- provider_id: 'fiserv:24027'
display_name: American Bank & Trust (SD) - Online Banking
- provider_id: 'fiserv:1603'
display_name: American First Credit Union
- provider_id: 'fiserv:40830'
display_name: American Heritage National Bank
- provider_id: 'jackhenry:amnb'
display_name: American National Bank & Trust Company
- provider_id: 'jackhenry:amerifirstbank'
display_name: AmeriFirst Bank
- provider_id: 'fiserv:23322'
display_name: Andover Bank - Personal
- provider_id: 'fiserv:40761'
display_name: Andrew Johnson Bank
- provider_id: 'fiserv:40787'
display_name: Androscoggin Bank - Personal
- provider_id: 'fiserv:26523'
display_name: Anstaff Bank - Personal
- provider_id: 'fiserv:28454'
display_name: Antwerp Exchange Bank Co.
- provider_id: 'fiserv:23770'
display_name: APG Federal Credit Union
- provider_id: 'fiserv:1003'
display_name: APL Federal Credit Union
- provider_id: 'fiserv:41133'
display_name: Apollo Trust Company
- provider_id: 'fiserv:40947'
display_name: Apple River State Bank - First Community Bank of Galena
- provider_id: 'fiserv:60089'
display_name: Applied Bank - Personal
- provider_id: 'fiserv:25814'
display_name: Arbor Financial Credit Union
- provider_id: 'fiserv:8409'
display_name: 'Armor Bank (Forrest City, AR) - Personal'
example:
page:
total_elements: 1632
links:
next:
href: /manage/v2/recipients/paprika_rec/providers?limit=50&offset=50&products=balances
providers:
- provider_id: 01_honest_bank
display_name: '01:Honest Bank right'
provider_url: 'https://honestbank.com'
- provider_id: 'fiserv:testdev60274'
display_name: 167th TFR Federal Credit Union
- provider_id: 'fiserv:22010'
display_name: 1st Advantage FCU
- provider_id: 'fiserv:41151'
display_name: 1st Bank of Sea Isle City - Personal
- provider_id: 'fiserv:28611'
display_name: 1st Capital Bank
- provider_id: 'fiserv:41057'
display_name: 1st Community Bank (IL) - Online Banking
- provider_id: 'fiserv:25228'
display_name: 1st National Bank
- provider_id: 'jackhenry:fnbhenning'
display_name: 1st National Bank Henning
- provider_id: 'fiserv:28451'
display_name: 1st State Bank (MI) - Personal
- provider_id: 'jackhenry:fsb-purdy'
display_name: 1st State Bank of Purdy
- provider_id: 'fiserv:8008'
display_name: 1st United Bank (MN) - Personal Banking
- provider_id: 'jackhenry:21stcb'
display_name: 21st Century Bank
- provider_id: 'fiserv:29990'
display_name: 22nd State Bank - Consumer/Small Business
- provider_id: 'fiserv:32768'
display_name: Abbott Laboratories Employee Credit Union (ALEC)
- provider_id: 'fiserv:testdev32768'
display_name: Abbott Laboratories Employee Credit Union (ALEC)
- provider_id: 'fiserv:60707'
display_name: ABCO Federal Credit Union
- provider_id: 'jackhenry:ablebanking'
display_name: ableBanking
- provider_id: 'jackhenry:abtgold'
display_name: AB&T
- provider_id: 'fiserv:40967'
display_name: Access Bank
- provider_id: 'fiserv:27272'
display_name: ACMG Federal Credit Union
- provider_id: 'fiserv:40574'
display_name: Adams Bank & Trust - Personal
- provider_id: 'fiserv:40672'
display_name: Adirondack Bank -Personal
- provider_id: 'fiserv:1972'
display_name: Affinity Plus Federal Credit Union
- provider_id: 'fiserv:24878'
display_name: Agricultural Federal Credit Union
- provider_id: 'fiserv:1975'
display_name: Air Academy Federal Credit Union
- provider_id: e2e_test_dp
display_name: Akoya E2E Test DP
- provider_id: 'fiserv:40215'
display_name: Alden State Bank (NY)
- provider_id: 'fiserv:23480'
display_name: Align Credit Union
- provider_id: 'fiserv:9116'
display_name: AllSouth Federal Credit Union
- provider_id: 'jackhenry:alternatives'
display_name: Alternatives Federal Credit Union
- provider_id: 'fiserv:28870'
display_name: Ambler Savings Bank - Personal
- provider_id: 'fiserv:61158'
display_name: American Bank of Baxter Springs
- provider_id: 'fiserv:2811'
display_name: American Bank (PA) - Online Banking
- provider_id: 'fiserv:24027'
display_name: American Bank & Trust (SD) - Online Banking
- provider_id: 'fiserv:1603'
display_name: American First Credit Union
- provider_id: 'fiserv:40830'
display_name: American Heritage National Bank
- provider_id: 'jackhenry:amnb'
display_name: American National Bank & Trust Company
- provider_id: 'jackhenry:amerifirstbank'
display_name: AmeriFirst Bank
- provider_id: 'fiserv:23322'
display_name: Andover Bank - Personal
- provider_id: 'fiserv:40761'
display_name: Andrew Johnson Bank
- provider_id: 'fiserv:40787'
display_name: Androscoggin Bank - Personal
- provider_id: 'fiserv:26523'
display_name: Anstaff Bank - Personal
- provider_id: 'fiserv:28454'
display_name: Antwerp Exchange Bank Co.
- provider_id: 'fiserv:23770'
display_name: APG Federal Credit Union
- provider_id: 'fiserv:1003'
display_name: APL Federal Credit Union
- provider_id: 'fiserv:41133'
display_name: Apollo Trust Company
- provider_id: 'fiserv:40947'
display_name: Apple River State Bank - First Community Bank of Galena
- provider_id: 'fiserv:60089'
display_name: Applied Bank - Personal
- provider_id: 'fiserv:25814'
display_name: Arbor Financial Credit Union
- provider_id: 'fiserv:8409'
display_name: 'Armor Bank (Forrest City, AR) - Personal'
examples:
200 OK:
value:
page:
total_elements: 1632
links:
next:
href: /manage/v2/recipients/paprika_rec/providers?limit=50&offset=50&products=balances
providers:
- provider_id: mikomo
display_name: Mikomo
provider_url: mikomo.ddp.akoya.com
x-stoplight:
id: 1go84sohk7za9
parameters:
- schema:
type: string
name: version
in: path
required: true
description: Management API major version (e.g. v2)
- schema:
type: string
name: recipientId
in: path
required: true
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
'/manage/{version}/subscriptions/{appId}':
get:
tags:
- Subscriptions
summary: Get Subscriptions For App
description: |-
Get a paginated list of all ACTIVE subscriptions for this application
You can use the `next` and the `prev` links to page through the response. You can also pass a `offset` and a `limit` parameter to get a specific page. The default page size is 50, and the maximum allowed page size is 500.
operationId: get-subscriptions
parameters:
- name: offset
in: query
schema:
type: integer
example: 1
description: Number of skipped items (default = 0)
- name: limit
in: query
schema:
type: integer
example: 2
description: 'Number of items per page (default = 50, must be <=500)'
- name: appId
in: path
schema:
type: string
required: true
example: '{{appId}}'
description: The ID of your application
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-66984b62-050b7264672b4131bc7086d78b89657d
content:
application/json:
schema:
type: object
properties:
page:
type: object
properties:
total_elements:
type: integer
links:
type: object
properties:
next:
type: object
properties:
href:
type: string
prev:
type: object
properties:
href:
type: string
subscriptions:
type: array
items:
type: object
properties:
provider_id:
type: string
display_name:
type: string
subscription_status:
type: string
account_categories:
type: array
items:
type: string
x-examples:
Example 1:
page:
total_elements: 1618
links:
next:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96?limit=2&offset=3
prev:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96?limit=2&offset=0
subscriptions:
- provider_id: bankofamerica
display_name: Bank of America
subscription_status: ACTIVE
account_categories:
- loanAccount
- locAccount
- investmentAccount
- depositAccount
- provider_id: capitalone
display_name: Capital One
subscription_status: ACTIVE
account_categories:
- depositAccount
- locAccount
- loanAccount
example:
page:
total_elements: 1618
links:
next:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96?limit=2&offset=3
prev:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96?limit=2&offset=0
subscriptions:
- provider_id: bankofamerica
display_name: Bank of America
subscription_status: ACTIVE
account_categories:
- loanAccount
- locAccount
- investmentAccount
- depositAccount
- provider_id: capitalone
display_name: Capital One
subscription_status: ACTIVE
account_categories:
- depositAccount
- locAccount
- loanAccount
examples:
200 OK:
value:
page:
total_elements: 1618
links:
next:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96?limit=2&offset=3
prev:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96?limit=2&offset=0
subscriptions:
- provider_id: mikomo
display_name: Mikomo
subscription_status: ACTIVE
account_categories:
- loanAccount
- locAccount
- investmentAccount
- depositAccount
- provider_id: mainst
display_name: Main St. Bank
subscription_status: ACTIVE
account_categories:
- depositAccount
- locAccount
- loanAccount
x-stoplight:
id: fn6tr10rkev5m
parameters:
- schema:
type: string
name: version
in: path
required: true
description: Management API major version (e.g. v2)
- schema:
type: string
name: appId
in: path
required: true
description: The id of your application
'/manage/{version}/subscriptions/{appId}/status':
get:
tags:
- Subscriptions
summary: Get Subscriptions For App - Filter By Status
description: |-
Get a paginated list of all subscriptions filtered by the `status` query parameter for this application.
Valid values for the `status` enum are:
- `ACTIVE`
- `PENDING`
- `PROCESSING`
- `TERMINATED`
- `DENIED`
You can use the `next` and the `prev` links to page through the response. You can also pass a `offset` and a `limit` parameter to get a specific page. The default page size is 50 and the maximum allowed page size is 500.
operationId: get-subscriptions-filter
parameters:
- name: status
in: query
schema:
type: string
enum:
- ACTIVE
- PENDING
- PROCESSING
- TERMINATED
- DENIED
example: ACTIVE
description: Your subscription status
required: true
- name: offset
in: query
schema:
type: integer
example: 1
description: Number of skipped items (default = 0)
- name: limit
in: query
schema:
type: integer
example: 2
description: 'Number of items per page (default = 50, must be <=500)'
- name: appId
in: path
schema:
type: string
required: true
example: '{{appId}}'
description: The ID of your application
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json; charset=utf-8
X-Akoya-Interaction-Id:
schema:
type: string
example: Root=1-66987978-577180bc1dee4dfcbca4a0297e860832
content:
application/json:
schema:
type: object
properties:
page:
type: object
properties:
total_elements:
type: integer
links:
type: object
properties:
next:
type: object
properties:
href:
type: string
prev:
type: object
properties:
href:
type: string
subscription_status:
type: array
items:
type: object
properties:
provider_id:
type: string
display_name:
type: string
status:
type: string
products:
type: array
items:
type: string
x-examples:
Example 1:
page:
total_elements: 1620
links:
next:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96/status?limit=2&offset=3&status=ACTIVE
prev:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96/status?limit=2&offset=0&status=ACTIVE
subscription_status:
- provider_id: bankofamerica
display_name: Bank of America
status: ACTIVE
products:
- balances
- provider_id: capitalone
display_name: Capital One
status: ACTIVE
products:
- balances
examples:
200 OK Example 1:
summary: 200 OK
value:
page:
total_elements: 1620
links:
next:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96/status?limit=2&offset=3&status=ACTIVE
prev:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96/status?limit=2&offset=0&status=ACTIVE
subscription_status:
- provider_id: mikomo
display_name: Mikomo Financial
status: ACTIVE
products:
- balances
- provider_id: mainst
display_name: Main St. Bank
status: ACTIVE
products:
- balances
200 OK Example 2:
summary: 200 OK - Get PENDING Subscriptions
value:
page:
total_elements: 15
links:
next:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96/status?limit=2&offset=6&status=PENDING
prev:
href: /manage/v2/subscriptions/c8a14d90-7843-4b4f-995f-e081ac99fa96/status?limit=2&offset=2&status=PENDING
subscription_status:
- provider_id: mikomo
display_name: Mikomo Financial
status: PENDING
products:
- balances
- provider_id: mainst
display_name: Main St. Bank
status: PENDING
products:
- balances
x-stoplight:
id: kiux5q6c042ce
parameters:
- schema:
type: string
name: version
in: path
required: true
description: Management API major version (e.g. v2)
- schema:
type: string
name: appId
in: path
required: true
description: The id of your application
x-internal: true
tags:
- name: Apps
description: Manage your apps
- name: Products
description: Get and search your Akoya products
- name: Subscriptions
description: Get and search subscriptions
Akoya Apps Management API v1.3.2 (Deprecated)
openapi: 3.1.0
x-stoplight:
id: tdnl4ky7y7g6n
info:
title: Akoya Apps Management API v1.3.2
version: 1.3.2
description: |-
> ✋ **v1 is Deprecated**
>
> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).
>
> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).
The Apps Management API v1.3.2 includes the following updates:
- v1.3.2
- Added descriptive text announcing deprecation of v1.
- v1.3.1
- Updated description for the Akoya providers by product endpoint:
- Corrected query examples.
- v1.3
- Pagination support added including new query parameters and metadata in response to endpoints:
- /recipients/:recipientId/apps
- /subscriptions/:appId
- /subscriptions/:appId/status
- /recipients/:recipientId/providers
- The DELETE action was removed from the /app endpoint
- v1.2
- When searching providers for supported Akoya products, you're now able to indicate if you'd like providers who match ALL of your requested products or ANY (some).
- v1.1
- You may now GET a list of your apps and their details.
contact:
name: API Support
url: 'http://www.akoya.com'
email: [email protected]
license:
name: Akoya Terms of Use
url: 'https://recipient.ddp.akoya.com/terms-of-use'
servers:
- url: sandbox-api.akoya.com
description: Sandbox API server
- url: api.akoya.com
description: Production API server
tags:
- name: Apps
description: Manage your apps
- name: Products
description: Search for Akoya products
- name: Subscriptions
description: Create and search subscriptions
security:
- bearerAuth: []
paths:
'/manage/{version}/recipients/{recipientId}/products':
parameters:
- $ref: '#/components/parameters/recipientId'
- $ref: '#/components/parameters/version'
get:
summary: Subscribed products
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/subscribedProducts'
example:
products:
- name: account_info
description: 'Account display name, masked account number, type, description.'
required: true
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
'400':
$ref: '#/components/responses/400'
operationId: get-subscribed-products
description: |
> ✋ **v1 is Deprecated**
>
> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).
>
> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).
Retrieve a list of your subscribed Akoya products.
tags:
- Products
parameters: []
x-stoplight:
id: xhte59wbs6u29
'/manage/{version}/recipients/{recipientId}/providers':
parameters:
- $ref: '#/components/parameters/recipientId'
- $ref: '#/components/parameters/version'
get:
summary: Providers by Akoya product
description: |
> ✋ **v1 is Deprecated**
>
> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).
>
> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).
List all providers that support an Akoya product or products. Include one or more products in the query separated by the & symbol. For instance: `/manage/{version}/recipients/{recipientId}/providers?products=balances&products=transactions`
Include `offset` and `limit` in the request to paginate results. For more, see the [Pagination](https://docs.akoya.com/reference/offset-limit-pagination) guide.
If the product in your query is `account_info`, you must include a secondary product. For instance:
`/manage/{version}/recipients/{recipientId}/providers?products=account_info&products=balances`
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/providersByProduct'
example:
metadata:
page:
offset: 0
limit: 50
totalPages: 1
totalElements: 1
providers:
- id: mikomo
displayName: Mikomo Bank
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
'400':
description: InvalidArgument
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example:
code: InvalidArgument
message: Invalid request. The recipientId is incorrect or the product has not been requested or purchased.
operationId: get-providers-by-product
parameters:
- $ref: '#/components/parameters/productsQuery'
- $ref: '#/components/parameters/registerQuery'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
tags:
- Products
x-stoplight:
id: 7p5mgecnk6rqm
'/manage/{version}/recipients/{recipientId}/apps':
parameters:
- $ref: '#/components/parameters/recipientId'
- $ref: '#/components/parameters/version'
post:
summary: Create your app(s)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/createAppResponse'
example:
apps:
- appId: drdjaekjqosaze4covduwfxih
secret: ppnjyt6d35gf6egimi2ubnlqriw77psdy65g3gi6hf7pnsfquf
name: test_4
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
'201':
description: Created
content:
application/json:
schema:
type: object
properties: {}
'400':
description: Bad Request
content:
application/json:
schema:
type: object
x-examples:
Example 1:
code: InvalidArgument
message: Number of apps to be created should be more than 1 and less than 50
properties:
code:
type: string
example: InvalidArgument
message:
type: string
example: Number of apps to be created should be more than 1 and less than 50
examples:
Example 1:
value:
code: InvalidArgument
message: Number of apps to be created should be more than 1 and less than 50
Example 2:
value:
code: InvalidArgument
message: Invalid input
operationId: create-apps
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createAppDetails'
example:
id: kdltexbspoa9upeldxz5vz5wx
owner: recipient
name: test_app
redirectUris:
- 'http://localhost:8888'
clientUri: 'http://localhost:8888'
contacts:
- [email protected]
logo: 'http://localhost:8888'
icon: 'http://localhost:8888'
description: this is a description
description: |-
> ✋ **v1 is Deprecated**
>
> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).
>
> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).
Create up to fifty applications per API request.
For each app, provide `name`, `redirectUris`, `clientUri`, `contacts`, `description`, and links to the application `logo`. You may also include a link to your application's `icon`.
- `name` should be alphanumeric and may include special characters: `#$&'()*+,-./|-é`
- `name` may not contain blocked characters: `!%<>?{}[]`
- `description` should not exceed 120 characters.
- `logo` URL to a file. We recommend using your full logo. We use this image for your end-user consent page. Required.
- Minimum height: 200px
- Minimum width: 200px
- Maximum height: 1024px
- Maximum width: 1024px
- File types: transparent PNG or JPG
- Maximum file size: 2 MB
- `icon` or avatar. URL to a file. We recommend using a sub-mark logo. We use this image as an avatar for your company in the Hub. Optional.
- Must be square. Height = width.
- Minimum height: 40px
- Minimum width: 40px
- Maximum height: 200px
- Maximum width: 200px
- File types: transparent PNG or JPG
- Maximum file size: 2 MB
During app creation, you must also make subscription requests. A subscription links your application to the Akoya products your app has purchased and the data providers that have activated your subscription.
Each app must include at least one subscription that specifices at least one valid Akoya `product`and a `providerId`. In production, the `providerId` must not be `mikomo`.
> Partial success responses
>
> A successful `200` response may return during bulk app creation if some apps are created successfully while others have generated an error. Please check the response for error messages.
Example errors in a `200` response:
```json
{
"apps": [
{
"name": "Example app",
"error": {
"code": "AlreadyExists",
"message": "This app name already exists for this recipientId."
}
}
]
}
```
```json
{
"apps": [
{
"error": {
"code": "InternalServerError",
"message": "Unable to retrieve required products"
}
}
]
}
```
tags:
- Apps
x-stoplight:
id: 7fmu5c1pf21bc
get:
summary: List of your apps
operationId: get-apps
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
metadata:
$ref: '#/components/schemas/metadata'
x-stoplight:
id: 5ooputhrbar2t
apps:
type: array
items:
type: object
properties:
id:
type: string
owner:
type: string
name:
type: string
redirectUris:
type: array
items:
type: string
clientUri:
type: string
contacts:
type: array
items:
type: string
logo:
type: object
properties:
url:
type: string
icon:
type: object
properties:
url:
type: string
description:
type: string
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
x-examples:
Example 1:
apps:
- id: ilvzgcs7x6n32h7vfaec7xc7e
owner: paprika_spice_tech
name: test_app_new_1673329538
redirectUris:
- 'http://localhost:8888'
clientUri: 'http://localhost:8888'
contacts:
- [email protected]
logo:
url: 'https://recipient.dev.ddp.akoya.com/images/logo-akoya-color.svg'
icon:
url: 'https://www.newicon.com'
description: this is description
- id: euxqat6babc5p6g6gfk4n3zcv
owner: paprika_spice_tech
name: test_app_1673554613
redirectUris:
- 'http://localhost:8888'
clientUri: 'http://localhost:8888'
contacts:
- [email protected]
logo:
url: 'http://localhost:8888'
icon:
url: 'http://localhost:8888'
description: this is a description
description: |
> ✋ **v1 is Deprecated**
>
> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).
>
> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).
Retrieve a list of your created apps. Response includes an array of all apps and their details. If you have no apps, you'll receive an empty array in the response.
Include `offset` and `limit` in the request to paginate results. For more, see the [Pagination](https://docs.akoya.com/reference/offset-limit-pagination) guide.
> Partial success responses
>
> A successful `200` response may return even if apps are not found with your recipientId.
Example `200` response when no apps are associated with the including recipientId:
```json
{
"apps": []
}
```
tags:
- Apps
x-stoplight:
id: d6wg9ems6f5l7
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
'/manage/{version}/recipients/{recipientId}/apps/{appId}':
parameters:
- $ref: '#/components/parameters/recipientId'
- $ref: '#/components/parameters/version'
- $ref: '#/components/parameters/appId'
patch:
summary: Update your app details
operationId: update-apps
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/appDetails'
example:
redirectUris:
- 'http://localhost:8888'
clientUri: 'http://localhost:8888'
contacts:
- [email protected]
logo: 'http://localhost:8888'
icon: 'http://localhost:8888'
description: this is a description
description: ''
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/patchAppDetails'
example:
id: kdltexbspoa9upeldxz5vz5wx
owner: recipient
name: test_app
redirectUris:
- 'http://localhost:8888'
clientUri: 'http://localhost:8888'
contacts:
- [email protected]
logo: 'http://localhost:8888'
icon: 'http://localhost:8888'
description: this is a description
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
type: object
x-examples:
Example 1:
code: InvalidArgument
message: The appId is invalid or does not exist
properties:
code:
type: string
example: InvalidArgument
message:
type: string
example: The appId is invalid or does not exist
parameters: []
description: "> ✋ **v1 is Deprecated**\r\n>\r\n> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).\r\n>\r\n> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).\r\n\r\nUpdate your application details. You must include at least one application detail to update in the body of the request such as `redirectUris`, `clientUri`, `contacts`, `description`, `logo`, and `icon`."
tags:
- Apps
x-stoplight:
id: 9ktl22tcarcfm
'/manage/{version}/subscriptions/{appId}':
parameters:
- $ref: '#/components/parameters/appId'
- $ref: '#/components/parameters/version'
get:
summary: App subscription details
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/appSubscriptionRequests'
example:
metadata:
page:
offset: 0
limit: 50
totalPages: 1
totalElements: 2
products:
- name: balances
displayName: Balances
description: Account balances and info
subscriptions:
- providerId: greatmikomo
displayName: Great Bank
accountCategories:
- loanAccount
- investmentAccount
- depositAccount
- locAccount
- providerId: mikomo
displayName: Mikomo Bank
accountCategories:
- annuityAccount
- insuranceAccount
- depositAccount
- investmentAccount
- loanAccount
- locAccount
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
operationId: get-subscriptions-appId
description: |
> ✋ **v1 is Deprecated**
>
> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).
>
> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).
Returns details for a specified app's subscription.
A subscription enables an app to receive data from a provider for specified account types and Akoya products.
Each app may have more than one subscription status.
_When you request an updated subscription that has yet to be approved, it may show more than one status_
**ACTIVE** - The subscription is live with the indicated details.
**PENDING** - The subscription is pending enablement with the indicated details. If you request a subscription update after having an ACTIVE subscription, it may have ACTIVE and PENDING statuses. On enablement, the PENDING subscription will override the previous ACTIVE subscription.
Include `offset` and `limit` in the request to paginate results. For more, see the [Pagination](https://docs.akoya.com/reference/offset-limit-pagination) guide.
tags:
- Subscriptions
x-stoplight:
id: c6deaa1nog5lr
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
put:
summary: Create or add subscriptions
operationId: put-subscriptions
tags:
- Subscriptions
description: "> ✋ **v1 is Deprecated**\r\n>\r\n> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).\r\n>\r\n> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).\r\n\r\nCreate or add a subscription to an existing app by providing an array of providerIds to subscribe to in the body of the request."
requestBody:
content:
application/json:
schema:
type: object
x-examples:
Example 1:
subscriptions:
- test_provider_1666878989
- best-bank-19
properties:
subscriptions:
type: array
description: An array of providerIds your app will be subscribed to.
items:
type: string
example: mikomo
required:
- subscriptions
examples:
Example 1:
value:
subscriptions:
- test_provider_1666878989
- best-bank-19
description: ''
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
x-examples:
Example 1:
subscriptions:
- providerId: best-bank-19
error:
code: InvalidArgument
message: Invalid request
- providerId: test_provider_1666878989
status: PENDING
properties:
subscriptions:
type: array
items:
type: object
properties:
providerId:
type: string
error:
type: object
description: 'If there is an error for the individual subscription, it will be included in the response.'
properties:
code:
type: string
message:
type: string
status:
type: string
examples:
Example 1:
value:
subscriptions:
- providerId: best-bank-19
error:
code: InvalidArgument
message: Invalid request
- providerId: test_provider_1666878989
status: PENDING
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
type: object
x-examples:
Example 1:
code: InvalidArgument
message: ProviderId invalid
properties:
code:
type: string
example: InvalidArgument
message:
type: string
example: ProviderId invalid
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
x-examples:
Example 1:
code: UnauthorizedAccess
message: Unauthorized
properties:
code:
type: string
example: UnauthorizedAccess
message:
type: string
example: Unauthorized
x-stoplight:
id: vo6i7fmfxs9vf
'/manage/{version}/subscriptions/{appId}/status':
parameters:
- $ref: '#/components/parameters/appId'
- $ref: '#/components/parameters/version'
get:
tags:
- Subscriptions
summary: Subscription status by app
operationId: get-subscriptions-status
description: |
> ✋ **v1 is Deprecated**
>
> If you are new to the Management API, please refer to the [v2 docs](https://docs.akoya.com/reference/management-api-v20-guide).
>
> If you currently use v1, you should plan a migration to v2. Please see our [migration guide](https://docs.akoya.com/reference/management-api-v2-migration-guide).
To list your application's subscription status for each provider, include the status type as a query parameter. Example types: ACTIVE, PENDING, PENDING_REGISTRATION.
Include `offset` and `limit` in the request to paginate results. For more, see the [Pagination](https://docs.akoya.com/reference/offset-limit-pagination) guide.
parameters:
- $ref: '#/components/parameters/statusQuery'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/appSubscriptionStatus'
headers:
X-Akoya-Interaction-Id:
description: 'Note that [RFC7230] states header names are case insensitive.'
schema:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
type: object
x-examples:
Example 1:
code: InvalidArgument
message: Invalid input
properties:
code:
type: string
example: InvalidArgument
message:
type: string
example: Invalid input
x-stoplight:
id: u78l8pw5lzb7g
components:
schemas:
subscribedProducts:
type: object
properties:
products:
description: Subscribed Akoya products
type: array
items:
type: object
properties:
name:
type: string
description: Name of the subscribed Akoya product.
enum:
- account_info
- balances
- payments
- investments
- transactions
- customers
- statements
description:
type: string
description: Description of the Akoya product.
required:
type: boolean
description: Whether or not this Akoya product is required. This usually indicates if an Akoya product is included with all subscriptions.
x-stoplight:
id: io4n6f8j2r9i3
error:
title: Error Entity
description: An error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.
type: object
properties:
code:
type: string
description: Long term persistent identifier which can be used to trace error condition back to log information
message:
type: string
description: End user displayable information which might help the customer diagnose an error
x-stoplight:
id: 4d0vazu3lobv7
appDetails:
title: Application details
description: the object
type: object
properties:
redirectUris:
type: array
items:
type: string
clientUri:
type: string
contacts:
type: array
items:
type: string
description:
type: string
logo:
type: string
icon:
type: string
x-stoplight:
id: cyfoxaxeydeyu
createAppDetails:
type: object
x-stoplight:
id: q8zpvdoqdhxbq
properties:
apps:
type: array
items:
allOf:
- $ref: '#/components/schemas/appDetails'
- properties:
name:
type: string
subscriptions:
type: array
items:
type: string
example: mikomo
products:
type: array
items:
type: string
enum:
- account_info
- balances
- customers
- investments
- payments
- statements
- transactions
type: object
createAppResponse:
type: object
x-stoplight:
id: p7hooebx1i24x
properties:
apps:
anyOf:
- items:
type: object
properties:
appId:
type: string
secret:
type: string
name:
type: string
error:
type: object
x-stoplight:
id: put3e7ogtj54b
description: Errors related to a specific app may return.
properties:
code:
type: string
x-stoplight:
id: elutwdqy03qwu
message:
type: string
x-stoplight:
id: 85bh9fenu9vii
required:
- name
- x-stoplight:
id: opwg87s97q8go
items:
x-stoplight:
id: oylv3u6i4cbm1
type: object
properties:
error:
type: object
x-stoplight:
id: avsgdkf2hb5cc
properties:
code:
type: string
x-stoplight:
id: ogppjdhi1d9wx
message:
type: string
x-stoplight:
id: jdjr77th9v9m2
type: array
providersByProduct:
type: object
x-stoplight:
id: c149ugwnili3u
properties:
metadata:
$ref: '#/components/schemas/metadata'
x-stoplight:
id: vg1pf6bonzf0k
providers:
type: array
title: Providers by Akoya product
items:
type: object
properties:
id:
type: string
displayName:
type: string
patchAppDetails:
type: object
allOf:
- type: object
properties:
id:
type: string
owner:
type: string
name:
type: string
- $ref: '#/components/schemas/appDetails'
x-stoplight:
id: hns9h1kda4lzu
appSubscriptionStatus:
type: object
x-stoplight:
id: k2g53wlnnc5kc
properties:
metadata:
$ref: '#/components/schemas/metadata'
x-stoplight:
id: aj2tx1g7ej6xm
subscriptionStatus:
type: array
title: Provider status
items:
type: object
properties:
providerId:
type: string
x-stoplight:
id: n8cmrol39trk1
displayName:
type: string
status:
type: string
appSubscriptionRequests:
type: object
x-stoplight:
id: l5qma0zvn8mkp
examples:
- products:
- name: account_info
displayName: Account Info
description: 'Account display name, masked account number, type, description.'
- name: payments
displayName: Payments
description: Identifiers necessary to make ACH and RTP payments.
- name: statements
displayName: Statements
description: 'Up to two years of statement data across account types, supports statement status, description, identifiers, and image of statement.'
subscriptions:
- providerId: aBank301
displayName: A Bank
accountTypeCategories: null
icon:
url: 'http://akoya.com/leeroyjenkins.jpg'
- providerId: mikomo
displayName: Mikomo Bank
accountTypeCategories:
- investmentAccount
- locAccount
- depositAccount
logo:
url: 'https://i.ibb.co/wW4XcTq/svgviewer-png-output.png'
icon:
url: 'https://go.dev/src/image/png/testdata/benchGray.png'
properties:
metadata:
$ref: '#/components/schemas/metadata'
x-stoplight:
id: sb3cvqfnvzf7u
products:
type: array
items:
type: object
properties:
name:
type: string
description:
type: string
displayName:
type: string
x-stoplight:
id: dzoy7clgd899j
subscriptions:
type: array
items:
type: object
properties:
providerId:
type: string
displayName:
type: string
accountCategories:
type: array
items:
type: string
example: depositAccount
icon:
type: object
x-stoplight:
id: 22e6p60padlhq
properties:
url:
type: string
x-stoplight:
id: qyln2mukzgyhs
logo:
type: object
x-stoplight:
id: qca79da0zu3fp
properties:
'':
type: string
x-stoplight:
id: 38lqry891ge4m
metadata:
title: metadata
x-stoplight:
id: oue0xwraqnojf
type: object
properties:
page:
type: object
properties:
offset:
type: number
x-stoplight:
id: rmr8ed7nr97fq
default: 0
limit:
type: number
x-stoplight:
id: 390lw6p805oyf
default: 50
totalPages:
type: number
x-stoplight:
id: vzdyn7f1hxg9u
totalElements:
type: number
x-stoplight:
id: tvz205o4owg2v
examples:
- page:
offset: 0
limit: 50
totalPages: 0
totalElements: 0
responses:
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example:
code: InvalidArgument
message: Invalid input
parameters:
recipientId:
name: recipientId
in: path
required: true
schema:
type: string
default: ':recipientId'
description: Your recipient id. You may find your recipientId in the Data Recipient Hub under Team Management/Company Id.
appId:
name: appId
in: path
required: true
schema:
type: string
default: ':appId'
description: The id of your application
productsQuery:
schema:
type: string
enum:
- account_info
- balances
- payments
- investments
- transactions
- customers
- statements
in: query
name: products
description: Akoya product
required: true
registerQuery:
schema:
type: string
enum:
- ANY
- ALL
in: query
name: register
description: Subscribe to providers that have ALL of the Akoya products or ANY (some) of the requested Akoya products.
statusQuery:
name: status
in: query
required: true
schema:
type: string
default: ACTIVE
enum:
- ACTIVE
- DENIED
- PENDING
- PENDING_REGISTRATION
- TERMINATED
description: Status
version:
name: version
in: path
schema:
type: string
example: v1
default: v1
required: true
description: Akoya version
offset:
name: offset
in: query
required: false
schema:
type: string
description: Number of skipped items (default = 0)
limit:
name: limit
in: query
schema:
type: string
description: 'Number of items per page (default = 50, must be <=500)'
securitySchemes:
bearerAuth:
description: Your service token should be used in the header of this call.
type: http
scheme: bearer
bearerFormat: JWT
x-internal: true
Change log
Date | Update |
---|---|
2024-Sept-09 | Original |
Need help?
Check out our Developer Community, or visit the Support Center in the Data Recipient Hub.
Looking for provider nuance documentation?
All provider nuance documentation is available in the Data providers section in the Data Recipient Hub.
Still stuck?
For all production issues, submit a support ticket through the Data Recipient Hub. Our support team is standing by 24/7. Questions and non-production issues will be answered during business hours.
Updated about 1 month ago