Skip to content

Jiko Partner API (Version: fd60d28d)

Introduction

Welcome to the Jiko API Reference! Jiko enables you to integrate money storage and movement, backed by the safety and security of US Treasury Bills. Use the Partner API if you are building an application that embeds Jiko’s services and offers Jiko products to your own customers. The Partner API will then enable your application to interact with Jiko on behalf of your customers.


At the core of our platform is the Jiko Pocket: a pair consisting of a bank account and a brokerage account. When money is deposited into a Pocket, the funds are automatically invested in T-bills. When a payment or withdrawal is made, T-bills are immediately liquidated and used as cash. Customers can have multiple Pockets, and each Pocket is associated with a single T-bill maturity: 4-week, 13-week, 26-week or 52-week.


The API Reference covers everything you need to build a full application leveraging the Jiko platform:


  • Onboarding customers
  • Funding Pockets via ACH or Wire
  • Viewing and managing Pockets (including monthly statements and trade confirmations)
  • Making payments and transfers via ACH, Wire, On-Us (Book) Transfer or Debit Card

When you’re ready to start building, please contact us at partner.support@jiko.io to request sandbox access.

Download OpenAPI description
Languages
Servers
Production server
https://{partner}.partner-api.jikoservices.com
Sandbox server
https://{partner}.sandbox-api.jikoservices.com

Accounts

Use these endpoints to view Account information. Jiko Accounts (also known as Pockets) consist of a bank account and a brokerage account. When funds are deposited into a Pocket, they’re immediately invested in T-bills.


In the API interface, the Account object encapsulates both accounts and can be treated as a single account to deposit to or withdraw from.

Operations

Customers

Use these endpoints to view and manage personal details for a Customer.

Operations

Transactions

Use these endpoints to view Transactions of funds moving in and out of Jiko Accounts, specifically the bank account component (cash deposits and withdrawals). For viewing information regarding the brokerage account component (buying and selling of T-bills), use Trades.

Operations

Trades

Use these endpoints to view Trades, or transactions related to the buying and selling of T-bills, within the brokerage account component of Jiko Pockets.

Operations

Statements

Use these endpoints to retrieve monthly statements for bank and brokerage accounts.

Operations

Manage Cards

Use these endpoints to view and manage Card information.

Operations

Physical Cards

Use these endpoints to create, view, and manage Physical Debit Cards.

Operations

Virtual Cards

Use these endpoints to create, view, and manage Virtual Debit Cards.

Operations

Businesses

Use these endpoints to initiate, manage, and complete KYB for Businesses. When an application has status: “APPROVED”, a Customer is created for the Business. Customers can have multiple Pockets.

Operations

Individuals

Use these endpoints to initiate, manage, and complete KYC for Individuals. When an application has status: “APPROVED”, a Customer is created for the Individual. Customers can have multiple Pockets.

Operations

Events

Use these endpoints to view Events.

Operations

Health

Use these endpoints to setup automatic health checks for the Partner API.

Operations

Sandbox

Use these endpoints to initiate sandbox functionality.

Operations

Security

Use these endpoints to authenticate requests to the Jiko API.

Operations

Subscriptions

Use these endpoints to create, view, and manage Subscriptions. Subscriptions provide Partners with the ability to subscribe to Events. Once subscribed, Events will be sent to the specified URL.

Operations

Webhooks

Webhooks

Reports

⚠️ Experimental ⚠️ These endpoints are subject to change.

Use these endpoints to interact with Reports.

Operations

ACH

Use these endpoints to create, view, and manage ACH Transfers.

Operations

Counterparties

Use these endpoints to view Counterparties. Counterparties represent external accounts when moving funds in or out of a Jiko Account. Jiko will only transfer funds between accounts where the Counterparty has status: “VERIFIED”, meaning ownership of the account has been confirmed.

Operations

On-Us Transfers

Use these endpoints to create and view On-Us (Book) Transfers between Jiko accounts.

Operations

Portals

Use these endpoints to create and view Portals. Portals allow third-party financial institutions to initiate ACH and wire transfers. A Portal consists of a routing and an account number. Multiple Portals can be created for a single Pocket.

Operations

Wires

Use this endpoint to initiate Wire Transfers.

Operations

Pockets

Operations

List Pockets For Customers

Request

Retrieve all Pockets for a list of Customers.

Security
HTTPBearer
Query
omit[]Array of Omit[] (strings) or Omit[] (null)(Omit[])
Any of:
unique
cursorCursor (string) or Cursor (null)(Cursor)
Any of:
string(Cursor)
limitinteger(Limit)[ 0 .. 30 ]
Default 30
filter[status]Array of strings(Filter[Status])unique
Default ["PENDING","OPEN","FROZEN"]
Items Enum"PENDING""OPEN""FROZEN""CLOSED"
Headers
x-jiko-idempotencystring(uuid)(X-Jiko-Idempotency)required
x-jiko-signaturestring(X-Jiko-Signature)required
curl -i -X GET \
  'https://your-partner-name.partner-api.jikoservices.com/api/v2/pockets/?omit%5B%5D=portfolio&cursor=string&limit=30&filter%5Bstatus%5D=PENDING%2COPEN%2CFROZEN' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'x-jiko-idempotency: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'x-jiko-signature: string'

Responses

Successful Response

Bodyapplication/json
prev_pagePrev Page (string) or Prev Page (null)(Prev Page)
Any of:
string(Prev Page)
next_pageNext Page (string) or Next Page (null)(Next Page)
Any of:
string(Next Page)
itemsArray of objects(Items)required
items[].​idstring(uuid)(Id)required

ID of the pocket

items[].​pocket_namestring(Pocket Name)required

Pocket name

items[].​portfolioPortfolio (object) or null

Total liquid cash and holdings

Any of:

Total liquid cash and holdings

items[].​statusstring(Status)required

Pocket status

Enum"PENDING""OPEN""FROZEN""CLOSED"
items[].​attributesArray of strings(Attributes)
items[].​deposit_strategy_idstring(Deposit Strategy Id)required

Pocket deposit trading strategy ID (Example: UST-4W)

items[].​reinvestment_strategy_idReinvestment Strategy Id (string) or Reinvestment Strategy Id (null)(Reinvestment Strategy Id)required

Pocket reinvestment trading strategy ID (Example: UST-4W)

Any of:

Pocket reinvestment trading strategy ID (Example: UST-4W)

string(Reinvestment Strategy Id)
items[].​customer_idstring(uuid)(Customer Id)required

The ID of the customer this pocket belongs to

items[].​object_typestring(Object Type)read-onlyrequired
object_typestring(Object Type)
Default "CursorList"
Response
application/json
{ "next_page": "cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw", "items": [ {} ], "object_type": "CursorList" }

Get Customer Pocket

Request

Retrieve a single Pocket for a given pocket_id.

Security
HTTPBearer
Path
customer_idstring(uuid)(Customer Id)required
pocket_idstring(uuid)(Pocket Id)required
Query
omit[]Array of Omit[] (strings) or Omit[] (null)(Omit[])
Any of:
unique
Headers
x-jiko-idempotencystring(uuid)(X-Jiko-Idempotency)required
x-jiko-signaturestring(X-Jiko-Signature)required
curl -i -X GET \
  'https://your-partner-name.partner-api.jikoservices.com/api/v2/customers/{customer_id}/pockets/{pocket_id}/?omit%5B%5D=portfolio' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'x-jiko-idempotency: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'x-jiko-signature: string'

Responses

Successful Response

Bodyapplication/json
idstring(uuid)(Id)required

ID of the pocket

pocket_namestring(Pocket Name)required

Pocket name

portfolioPortfolio (object) or null

Total liquid cash and holdings

Any of:

Total liquid cash and holdings

statusstring(Status)required

Pocket status

Enum"PENDING""OPEN""FROZEN""CLOSED"
attributesArray of strings(Attributes)
deposit_strategy_idstring(Deposit Strategy Id)required

Pocket deposit trading strategy ID (Example: UST-4W)

reinvestment_strategy_idReinvestment Strategy Id (string) or Reinvestment Strategy Id (null)(Reinvestment Strategy Id)required

Pocket reinvestment trading strategy ID (Example: UST-4W)

Any of:

Pocket reinvestment trading strategy ID (Example: UST-4W)

string(Reinvestment Strategy Id)
customer_idstring(uuid)(Customer Id)required

The ID of the customer this pocket belongs to

object_typestring(Object Type)read-onlyrequired
Response
application/json
{ "id": "d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd", "pocket_name": "4-week T-bills", "portfolio": { "securities": [], "cash": {}, "all_time_earnings": {}, "total_value": {}, "fees": [], "liquidation_value_t0": {}, "liquidation_value_t1": {} }, "status": "OPEN", "attributes": [], "deposit_strategy_id": "UST-4W", "reinvestment_strategy_id": "UST-26W", "customer_id": "62c5272e-ef8c-4d8a-a49d-633432409fd4", "object_type": "CustomerPocket" }

Update Pocket

Request

Update a Pocket's name, or update a Pocket's status. If the intent is to close a Pocket, then there are two requirements: The Pocket needs to be empty, and there has to be at least one other open Pocket belonging to the customer. Additionally, when you close a Pocket, you also need to pass a closure_reason along with the status update.

Security
HTTPBearer
Path
customer_idstring(uuid)(Customer Id)required
pocket_idstring(uuid)(Pocket Id)required
Headers
x-jiko-idempotencystring(uuid)(X-Jiko-Idempotency)required
x-jiko-signaturestring(X-Jiko-Signature)required
Bodyapplication/jsonrequired
pocket_namePocket Name (string) or Pocket Name (null)(Pocket Name)

Pocket name

Any of:

Pocket name

<= 100 characters
string(Pocket Name)<= 100 characters
status"CLOSED" (any) or Status (null)(Status)

Pocket status

Any of:

Pocket status

any("CLOSED")
closure_reasonClosure Reason (string) or Closure Reason (null)(Closure Reason)
Any of:
string(Closure Reason)
Enum"PARTNER_INSTIGATED""USER_INSTIGATED""INACTIVITY""SUSPICIOUS_ACTIVITY"
deposit_strategy_idCreatePocketConfigurationId (string) or null

Pocket deposit trading strategy ID (Example: UST-4W)

Any of:

Pocket deposit trading strategy ID (Example: UST-4W)

string(CreatePocketConfigurationId)
Enum"UST-52W""UST-26W""UST-13W""UST-4W""UST-1W"
reinvestment_strategy_idCreatePocketConfigurationId (string) or null

Pocket reinvestment trading strategy ID (Example: UST-4W)

Any of:

Pocket reinvestment trading strategy ID (Example: UST-4W)

string(CreatePocketConfigurationId)
Enum"UST-52W""UST-26W""UST-13W""UST-4W""UST-1W"
curl -i -X PATCH \
  'https://your-partner-name.partner-api.jikoservices.com/api/v2/customers/{customer_id}/pockets/{pocket_id}/' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'x-jiko-idempotency: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'x-jiko-signature: string' \
  -d '{
    "pocket_name": "Savings"
  }'

Responses

Successful Response

Bodyapplication/json
idstring(uuid)(Id)required

ID of the pocket

pocket_namestring(Pocket Name)required

Pocket name

portfolioPortfolio (object) or null

Total liquid cash and holdings

Any of:

Total liquid cash and holdings

statusstring(Status)required

Pocket status

Enum"PENDING""OPEN""FROZEN""CLOSED"
attributesArray of strings(Attributes)
deposit_strategy_idstring(Deposit Strategy Id)required

Pocket deposit trading strategy ID (Example: UST-4W)

reinvestment_strategy_idReinvestment Strategy Id (string) or Reinvestment Strategy Id (null)(Reinvestment Strategy Id)required

Pocket reinvestment trading strategy ID (Example: UST-4W)

Any of:

Pocket reinvestment trading strategy ID (Example: UST-4W)

string(Reinvestment Strategy Id)
object_typestring(Object Type)read-onlyrequired
Response
application/json
{ "id": "d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd", "pocket_name": "4-week T-bills", "status": "OPEN", "attributes": [], "deposit_strategy_id": "UST-4W", "reinvestment_strategy_id": "UST-26W", "customer_id": "62c5272e-ef8c-4d8a-a49d-633432409fd4", "object_type": "CustomerPocket" }

Trading Strategies

Operations

Transactions V2

Operations

Health

Use these endpoints to setup automatic health checks for the Partner API.

Operations

Counterparties V2

Operations