# Jiko Partner API ## 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](mailto:partner.support@jiko.io) to request sandbox access. Version: Version: fd60d28d ## Servers Production server ``` https://{partner}.partner-api.jikoservices.com ``` Variables: - `partner`: Your organization's unique identifier Default: "your-partner-name" Sandbox server ``` https://{partner}.sandbox-api.jikoservices.com ``` Variables: - `partner`: Your organization's unique identifier Default: "your-partner-name" ## Security ### HTTPBearer Type: http Scheme: bearer ## Download OpenAPI description [Jiko Partner API](https://docs.jiko.io/_bundle/products/partner-api/reference.yaml) ## 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. ### List Customer Accounts (deprecated) - [GET /api/v1/customers/{customer_id}/jiko-accounts/](https://docs.jiko.io/products/partner-api/reference/accounts/list_customer_accounts_api_v1_customers__customer_id__jiko_accounts__get.md): Get a list of all accounts for a specified customer. Deprecated: Use List Pockets for Customer instead. ### Get Customer Account (deprecated) - [GET /api/v1/jiko-accounts/{account_id}/](https://docs.jiko.io/products/partner-api/reference/accounts/get_customer_account_api_v1_jiko_accounts__account_id___get.md): Get a specific account. Deprecated: Use Get Customer Pocket instead. ## Customers Use these endpoints to view and manage personal details for a Customer. ### Get Customer Data - [GET /api/v1/customers/{customer_id}/](https://docs.jiko.io/products/partner-api/reference/customers/get_customer_data_api_v1_customers__customer_id___get.md): Retrieve customer details for the customer given by the customer ID. ### Update Customer Data - [PATCH /api/v1/customers/{customer_id}/](https://docs.jiko.io/products/partner-api/reference/customers/update_customer_data_api_v1_customers__customer_id___patch.md): Updates details for a given Customer, including contact information and Trusted Contact information. This endpoint can also be used to close customer accounts with the CloseCustomerAccount request body schema. Before closing a customer's account, all customer Pockets must have a zero balance. NOTE: Update Customer Data isn’t available by default and must be enabled — please contact your Jiko point of contact to learn more. ### Get Beneficial Owners - [GET /api/v1/customers/{customer_id}/beneficial-owners/](https://docs.jiko.io/products/partner-api/reference/customers/get_beneficial_owners_api_v1_customers__customer_id__beneficial_owners__get.md): Gets a list of beneficial owners for a given customer. ### Upload Document To Customer - [POST /api/v1/customers/{customer_id}/documents/{document_type}/file/](https://docs.jiko.io/products/partner-api/reference/customers/upload-customer-document.md): Upload files for an approved customer. Used to verify customer requests (e.g. Customer change request, close account request, ACH request). Refer to the Upload Document To Application for more detailed info. ## 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](/products/partner-api/reference/trades). ### List Customer Transactions (deprecated) - [GET /api/v1/customers/{customer_id}/transactions/](https://docs.jiko.io/products/partner-api/reference/transactions/list_customer_transactions_api_v1_customers__customer_id__transactions__get.md): Returns a list of transactions from a customer's bank accounts. It does not include transactions between the bank account and brokerage account. Deprecated: Use List Customer Transactions instead. ### List Account Transactions (deprecated) - [GET /api/v1/jiko-accounts/{account_id}/transactions/](https://docs.jiko.io/products/partner-api/reference/transactions/list_account_transactions_api_v1_jiko_accounts__account_id__transactions__get.md): Returns a list of bank account transactions. It does not include transactions between the bank account and brokerage account. Deprecated: Use List Pocket Transactions instead. ### Get Account Transaction (deprecated) - [GET /api/v1/jiko-accounts/{account_id}/transactions/{transaction_id}/](https://docs.jiko.io/products/partner-api/reference/transactions/get_account_transaction_api_v1_jiko_accounts__account_id__transactions__transaction_id___get.md): Returns a specific transaction for a specific account, based on the provided account_id and transaction_id in question. Deprecated: Use Get Transaction instead. ## 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. ### List Customer Trades - [GET /api/v1/customers/{customer_id}/trades/](https://docs.jiko.io/products/partner-api/reference/trades/list_customer_trades_api_v1_customers__customer_id__trades__get.md): Returns a list of trades from a customer's brokerage accounts. ### List Account Trades - [GET /api/v1/jiko-accounts/{account_id}/trades/](https://docs.jiko.io/products/partner-api/reference/trades/list_account_trades_api_v1_jiko_accounts__account_id__trades__get.md): Get a list of trades. This is the equivalent of fetching transactions for the brokerage account. ### Get Trade Confirmation - [GET /api/v1/jiko-accounts/{account_id}/trades/{trade_id}/confirmation/](https://docs.jiko.io/products/partner-api/reference/trades/get_trade_confirmation_api_v1_jiko_accounts__account_id__trades__trade_id__confirmation__get.md): Get a trade's trade confirmation. Trade confirmations are sensitive documents. For security reasons, we return trade confirmations as PDFs through a URL with a 10-minute TTL. Trade confirmation PDFs should be fetched and served just-in-time, not stored in databases. Trades with "activity": "MATURITY" do not have trade confirmations. ## Statements Use these endpoints to retrieve monthly statements for bank and brokerage accounts. ### List Customer Statements - [GET /api/v1/customers/{customer_id}/statements/](https://docs.jiko.io/products/partner-api/reference/statements/list_customer_statements_api_v1_customers__customer_id__statements__get.md): Get all statements for all accounts of a specific customer. ### List Account Statements (deprecated) - [GET /api/v1/jiko-accounts/{account_id}/statements/](https://docs.jiko.io/products/partner-api/reference/statements/list_account_statements_api_v1_jiko_accounts__account_id__statements__get.md): Lists all statements for an account. Partners can expect monthly statements to be available by the 15th of every month. Bank and Broker dealer statements are sensitive documents. For security reasons, these URLs have a 10 minute TTL. Therefore, they should be fetched and served just-in-time, not stored in databases. ## Manage Cards Use these endpoints to view and manage Card information. ### List Account Cards - [GET /api/v1/jiko-accounts/{account_id}/cards/](https://docs.jiko.io/products/partner-api/reference/manage-cards/list_account_cards_api_v1_jiko_accounts__account_id__cards__get.md): Get all cards for a specific account. Includes the card_id and metadata, but sensitive data like CVV's, expiration dates and card numbers are omitted. ### Get Card Status - [GET /api/v1/jiko-accounts/{account_id}/cards/{card_id}/status/](https://docs.jiko.io/products/partner-api/reference/manage-cards/get_card_status_api_v1_jiko_accounts__account_id__cards__card_id__status__get.md): Get a card's current status. ### Set Card Status - [PATCH /api/v1/jiko-accounts/{account_id}/cards/{card_id}/status/](https://docs.jiko.io/products/partner-api/reference/manage-cards/set_card_status_api_v1_jiko_accounts__account_id__cards__card_id__status__patch.md): Set a card's status. Note that once a card's status is set to CLOSED, it can never be used again. ### Set Card PIN - [POST /api/v1/jiko-accounts/{account_id}/cards/{card_id}/pin/](https://docs.jiko.io/products/partner-api/reference/manage-cards/set_card_pin_api_v1_jiko_accounts__account_id__cards__card_id__pin__post.md): Set PIN for physical cards (by card_id) before they are activated. ### Close Card - [POST /api/v1/jiko-accounts/{account_id}/cards/{card_id}/close/](https://docs.jiko.io/products/partner-api/reference/manage-cards/close_card_api_v1_jiko_accounts__account_id__cards__card_id__close__post.md): Close a card, virtual or physical. Physical cards require a closure_reason. If the reason is STOLEN or LOST, a lost_stolen_date is required. ## Physical Cards Use these endpoints to create, view, and manage Physical Debit Cards. ### List Card Orders - [GET /api/v1/jiko-accounts/{account_id}/card-orders/](https://docs.jiko.io/products/partner-api/reference/physical-cards/list_card_orders_api_v1_jiko_accounts__account_id__card_orders__get.md): List all card orders for this account. ### Create Physical Card Order - [POST /api/v1/jiko-accounts/{account_id}/card-orders/](https://docs.jiko.io/products/partner-api/reference/physical-cards/create_physical_card_order_api_v1_jiko_accounts__account_id__card_orders__post.md): Order a new, physical card for an account. It will be delivered to the specified address. ### Get Card Order - [GET /api/v1/jiko-accounts/{account_id}/card-orders/{card_order_id}/](https://docs.jiko.io/products/partner-api/reference/physical-cards/get_card_order_api_v1_jiko_accounts__account_id__card_orders__card_order_id___get.md): Retrieve card order information by provided card_order_id. ## Virtual Cards Use these endpoints to create, view, and manage Virtual Debit Cards. ### Get Virtual Card - [POST /api/v1/jiko-accounts/{account_id}/virtual-cards/{card_id}/](https://docs.jiko.io/products/partner-api/reference/virtual-cards/get_virtual_card_api_v1_jiko_accounts__account_id__virtual_cards__card_id___post.md): Retrieve virtual card detail by given card_id. Generate a single-use 4096-bit RSA key-pair at the (end user) client side and pass the public key PEM encoded upstream in PKCS#1 or PKCS#1.5 format to ensure confidentiality and encryption of the card's PAN, CVV and expiration date. ### Close Virtual Card - [DELETE /api/v1/jiko-accounts/{account_id}/virtual-cards/{card_id}/](https://docs.jiko.io/products/partner-api/reference/virtual-cards/close_virtual_card_api_v1_jiko_accounts__account_id__virtual_cards__card_id___delete.md): Close a virtual card. This is an irreversible action. ### Create Virtual Card - [POST /api/v1/jiko-accounts/{account_id}/virtual-cards/](https://docs.jiko.io/products/partner-api/reference/virtual-cards/create_virtual_card_api_v1_jiko_accounts__account_id__virtual_cards__post.md): Create a virtual card for an account. Generate a single-use 4096-bit RSA key-pair at the (end user) client side and pass the public key PEM encoded upstream in PKCS#1 or PKCS#1.5 format to ensure confidentiality and encryption of the card's PAN, CVV and expiration date. ## Businesses Use these endpoints to initiate, manage, and complete KYB for Businesses. When an application has `status: “APPROVED”`, a [Customer](reference/customers/get_customer_data_api_v1_customers__customer_id___get) is created for the Business. Customers can have multiple [Pockets](/products/partner-api/reference/pockets/list-pockets-v2). ### Create Application - [POST /api/v1/business-applications/](https://docs.jiko.io/products/partner-api/reference/businesses/create-business-application.md): Create a Business Application. The Business Application object contains general information related to the business and the overall status of the application. See the Onboarding Businesses Guide for more. ### Get Application - [GET /api/v1/business-applications/{application_id}/](https://docs.jiko.io/products/partner-api/reference/businesses/get-business-application.md): Fetch a Business Application. ### Update Application - [PATCH /api/v1/business-applications/{application_id}/](https://docs.jiko.io/products/partner-api/reference/businesses/update-business-application.md) ### Apply - [POST /api/v1/business-applications/{application_id}/apply/](https://docs.jiko.io/products/partner-api/reference/businesses/business-application-apply.md): When the Business Application object has been completed, along with Related Party Applications and Document Requests (see the Onboarding Businesses Guide), call this endpoint to submit the business application for review. ### Create Related Party Application - [POST /api/v1/business-applications/{application_id}/related-party-applications/](https://docs.jiko.io/products/partner-api/reference/businesses/create-related-party-application.md) ### List Related Party Application - [GET /api/v1/business-applications/{application_id}/related-party-applications/](https://docs.jiko.io/products/partner-api/reference/businesses/list-related-party-application.md) ### Update Related Party Application - [PATCH /api/v1/business-applications/{application_id}/related-party-applications/{related_party_application_id}/](https://docs.jiko.io/products/partner-api/reference/businesses/update-related-party-application.md) ### Delete Related Party Application - [DELETE /api/v1/business-applications/{application_id}/related-party-applications/{related_party_application_id}/](https://docs.jiko.io/products/partner-api/reference/businesses/delete-related-party-application.md) ### List Related Party Document Requests - [GET /api/v1/business-applications/{application_id}/related-party-applications/{related_party_application_id}/](https://docs.jiko.io/products/partner-api/reference/businesses/list-related-party-document-requests-businesses.md): Fetch the list of outstanding Document Requests. Document Requests vary depending on the information provided in the Business Application and Related Party Application objects. See the Onboarding Businesses Guide for more. ### List Document Requests - [GET /api/v1/business-applications/{application_id}/documents/](https://docs.jiko.io/products/partner-api/reference/businesses/list-document-requests-businesses.md): Fetch the list of outstanding Document Requests. Document Requests vary depending on the information provided in the Business Application and Related Party Application objects. See the Onboarding Businesses Guide for more. ### Upload Document - [POST /api/v1/documents/{document_id}/](https://docs.jiko.io/products/partner-api/reference/businesses/upload-application-document.md) ### Upload Document - [POST /api/v1/documents/{document_id}/](https://docs.jiko.io/products/partner-api/reference/individuals/upload-application-document.md) ## Individuals Use these endpoints to initiate, manage, and complete KYC for Individuals. When an application has `status: “APPROVED”`, a [Customer](reference/customers/get_customer_data_api_v1_customers__customer_id___get) is created for the Individual. Customers can have multiple [Pockets](/products/partner-api/reference/pockets/list-pockets-v2). ### Upload Document - [POST /api/v1/documents/{document_id}/](https://docs.jiko.io/products/partner-api/reference/businesses/upload-application-document.md) ### Create Application - [POST /api/v1/applications/](https://docs.jiko.io/products/partner-api/reference/individuals/create_application_api_v1_applications__post.md): Create an application. You must apply to potentially create a customer using the application, assuming KYC is successful. When creating an application, keep in mind that customers must be at least 18 years old to open an account with Jiko. ### Get Application - [GET /api/v1/applications/{application_id}/](https://docs.jiko.io/products/partner-api/reference/individuals/get_application_api_v1_applications__application_id___get.md): Fetch and observe an existing application. ### Apply - [POST /api/v1/applications/{application_id}/apply/](https://docs.jiko.io/products/partner-api/reference/individuals/apply_api_v1_applications__application_id__apply__post.md): Initiate automatic KYC. Transitions the application from CREATED status to SUBMITTED status. Once the async KYC process is completed, the application will move from SUBMITTED to another status. ### List Agreements - [GET /api/v1/agreements/](https://docs.jiko.io/products/partner-api/reference/individuals/list_agreements_api_v1_agreements__get.md): Partner agreements and disclosures are available through the API in a versioned bundle. The version of the fetched bundle must be attached to all incoming applications. ### Upload Document To Application - [POST /api/v1/applications/{application_id}/documents/{document_type}/file/](https://docs.jiko.io/products/partner-api/reference/individuals/upload_document_to_application_api_v1_applications__application_id__documents__document_type__file__post.md): Upload documents to the application for more detailed KYC or manual review. As with all other endpoints, the bearer token and x-jiko-idempotency is needed, but x-jiko-signature is not needed. The file should be posted unprocessed in the request body, in the same manner as curl -X POST --data-binary @my_file.png does. The maximum file size for ID_FRONT, ID_BACK, SELFIE and PASSPORT is 5 MB. Other files can be up to 50 MB. Documents can be uploaded before and after calling Apply. ### Upload Document - [POST /api/v1/documents/{document_id}/](https://docs.jiko.io/products/partner-api/reference/individuals/upload-application-document.md) ## Events Use these endpoints to view Events. ### List Event Types - [GET /api/v1/events/types/](https://docs.jiko.io/products/partner-api/reference/events/list_event_types_api_v1_events_types__get.md): List all event types. ### List Events - [GET /api/v1/events/](https://docs.jiko.io/products/partner-api/reference/events/list_events_api_v1_events__get.md): List all past events. ## Health Use these endpoints to setup automatic health checks for the Partner API. ### Get Health Check - [GET /health](https://docs.jiko.io/products/partner-api/reference/health/get-health-check.md): A health check endpoint, which returns "OK" if the Partner API is up and running. ### Get Health Check - [GET /health](https://docs.jiko.io/products/partner-api/reference/health/get-health-check.md): A health check endpoint, which returns "OK" if the Partner API is up and running. ## Sandbox Use these endpoints to initiate sandbox functionality. ### Submit Card Swipe - [POST /api/v1/sandbox/card-swipe/](https://docs.jiko.io/products/partner-api/reference/sandbox/submit_card_swipe_api_v1_sandbox_card_swipe__post.md): Simulate a card swipe with the given card_id for a given amount_usdc in USD cents. Note: Only for virtual cards at the moment. ### Generate Physical Card From Order - [POST /api/v1/sandbox/generate-card/](https://docs.jiko.io/products/partner-api/reference/sandbox/generate_physical_card_from_order_api_v1_sandbox_generate_card__post.md): Generate a physical card from a card order with a given card_order_id. ### Trigger Webhook - [POST /api/v1/sandbox/webhook/](https://docs.jiko.io/products/partner-api/reference/sandbox/trigger-webhook.md): Simulates a webhook event according to the payload. This will trigger requests to subscribed callback URLs, if any. ### Fund Account - [POST /api/v1/sandbox/fund/](https://docs.jiko.io/products/partner-api/reference/sandbox/fund_account_api_v1_sandbox_fund__post.md): Simulates an ACH credit to the provided Jiko account. Requires a portal to use. A portal can be created using the Create Portal endpoint. ## Security Use these endpoints to authenticate requests to the Jiko API. ### Login - [POST /api/v1/login/](https://docs.jiko.io/products/partner-api/reference/security/login_api_v1_login__post.md): Provide the username and password in a request body to receive a bearer token to authenticate to the API's other endpoints. See Authentication. ### List Public Keys - [GET /api/v1/public-keys/](https://docs.jiko.io/products/partner-api/reference/security/list_public_keys_api_v1_public_keys__get.md): Returns all relevant asymmetric encryption keys. ## 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. ### List Subscriptions - [GET /api/v1/subscriptions/](https://docs.jiko.io/products/partner-api/reference/subscriptions/list_subscriptions_api_v1_subscriptions__get.md): List a partner's subscriptions. ### Create Subscription - [POST /api/v1/subscriptions/](https://docs.jiko.io/products/partner-api/reference/subscriptions/create_subscription_api_v1_subscriptions__post.md): Creates a webhook subscription for the specified event types and the given URL. ### Get Subscription - [GET /api/v1/subscriptions/{subscription_id}/](https://docs.jiko.io/products/partner-api/reference/subscriptions/get_subscription_api_v1_subscriptions__subscription_id___get.md): Retrieve a webhook subscription by given subscription_id. ### Update Subscription - [PATCH /api/v1/subscriptions/{subscription_id}/](https://docs.jiko.io/products/partner-api/reference/subscriptions/update_subscription_api_v1_subscriptions__subscription_id___patch.md): Updates webhook subscription by specified subscription_id. ### Delete Subscription - [DELETE /api/v1/subscriptions/{subscription_id}/](https://docs.jiko.io/products/partner-api/reference/subscriptions/delete_subscription_api_v1_subscriptions__subscription_id___delete.md): Deletes a webhook subscription matching the given ID. ## Webhooks ### application.approved - [POST application.approved](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_application_approved_post.md): Application - Approved Event ### application.manual_review - [POST application.manual_review](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_application_manual_review_post.md): Application - Manual Review Event ### application.documents_needed - [POST application.documents_needed](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_application_documents_needed_post.md): Application - Documents Needed Event ### application.rejected - [POST application.rejected](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_application_rejected_post.md): Application - Rejected Event ### transfers.ach.in.success - [POST transfers.ach.in.success](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_ach_in_success_post.md): Incoming ACH Transfer - Success Event Triggered when Jiko, when acting as the RDFI has successfully processed an ACH transfer it received and settled it against the receiving pocket. ### transfers.ach.in.rejected - [POST transfers.ach.in.rejected](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_ach_in_rejected_post.md): Incoming ACH Transfer - Rejected Event Triggered when Jiko, when acting as the RDFI has rejected and returned an ACH transfer it received back to the ACH network. ### transfers.ach.out.success - [POST transfers.ach.out.success](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_ach_out_success_post.md): Outgoing ACH Transfer - Success Event Triggered when Jiko, when acting as the ODFI has originated an ACH transfer and sent it to the ACH network. More information on ACH originations can be found in the Create ACH Origination reference documentation. ### transfers.ach.out.rejected - [POST transfers.ach.out.rejected](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_ach_out_rejected_post.md): Outgoing ACH Transfer - Rejected Event Triggered when an ACH transfer originated by Jiko, when acting as the ODFI, has been returned by the receiving depository financial institution. More information on ACH originations can be found in the Create ACH Origination reference documentation. ### transfers.ach.out.sent - [POST transfers.ach.out.sent](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_ach_out_sent_post.md): Outgoing ACH Transfer - Sent Event Triggered when an ACH transfer originated by Jiko, when acting as the ODFI, has been sent to the ACH network for processing. More information on ACH originations can be found in the Create ACH Origination reference documentation. ### card.status.closed - [POST card.status.closed](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_status_closed_post.md): Card Status - Closed Event ### card.status.open - [POST card.status.open](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_status_open_post.md): Card Status - Open Event ### card.status.frozen - [POST card.status.frozen](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_status_frozen_post.md): Card Status - Frozen Event ### card.status.locked - [POST card.status.locked](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_status_locked_post.md): Card Status - Locked Event ### card.transaction.approved - [POST card.transaction.approved](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_transaction_approved_post.md): Card Transaction - Approved Event ### card.transaction.on_hold - [POST card.transaction.on_hold](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_transaction_on_hold_post.md): Card Transaction - On Hold Event ### card.transaction.reversed - [POST card.transaction.reversed](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_transaction_reversed_post.md): Card Transaction - Reversed Event ### card.transaction.rejected - [POST card.transaction.rejected](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_card_transaction_rejected_post.md): Card Transaction - Rejected Event ### transfers.wire.out.success - [POST transfers.wire.out.success](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_wire_out_success_post.md): Outgoing Wire Transfer - Success Event ### transfers.wire.out.processing - [POST transfers.wire.out.processing](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_wire_out_processing_post.md): Outgoing Wire Transfer - Processing Event ### transfers.wire.out.rejected - [POST transfers.wire.out.rejected](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_wire_out_rejected_post.md): Outgoing Wire Transfer - Rejected Event ### transfers.wire.in.success - [POST transfers.wire.in.success](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_wire_in_success_post.md): Incoming Wire Transfer - Success Event ### transfers.wire.in.rejected - [POST transfers.wire.in.rejected](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_wire_in_rejected_post.md): Incoming Wire Transfer - Rejected Event ### transfers.on-us.success - [POST transfers.on-us.success](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_on_us_success_post.md): Transfers On-Us Success Event ### transfers.on-us.processing - [POST transfers.on-us.processing](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_on_us_processing_post.md): Transfers On-Us Processing Event ### transfers.on-us.rejected - [POST transfers.on-us.rejected](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_on_us_rejected_post.md): Transfers On-Us Rejected Event ### transfers.on-us.received - [POST transfers.on-us.received](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_transfers_on_us_received_post.md): Transfers On-Us Received Event ### tradable.maturity - [POST tradable.maturity](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_tradable_maturity_post.md): Tradable - Maturity Event Triggered when a treasury bill held by the pocket referenced in the event payload has matured. ### report.status.available - [POST report.status.available](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_report_status_available_post.md): Report - Download Available Event ### report.status.pending - [POST report.status.pending](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_report_status_pending_post.md): Report - Pending Creation Event ### report.status.failed - [POST report.status.failed](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_report_status_failed_post.md): Report Status Failed Event ### counterparty.status.linked - [POST counterparty.status.linked](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_counterparty_status_linked_post.md): Counterparty Status - Linked Event ### counterparty.status.unlinked - [POST counterparty.status.unlinked](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_counterparty_status_unlinked_post.md): Counterparty Status - Unlinked Event ### counterparty.status.failed - [POST counterparty.status.failed](https://docs.jiko.io/products/partner-api/reference/webhooks/webhook_counterparty_status_failed_post.md): Counterparty Status - Failed Event ## Reports **⚠️ Experimental ⚠️** These endpoints are subject to change. Use these endpoints to interact with Reports. ### List Report Requests - [GET /api/v1/report-requests/](https://docs.jiko.io/products/partner-api/reference/reports/list_report_requests_api_v1_report_requests__get.md): Returns a list of report requests ### Create Report Request - [POST /api/v1/report-requests/](https://docs.jiko.io/products/partner-api/reference/reports/create_report_request_api_v1_report_requests__post.md): This endpoint triggers an asynchronous process to create a report request based on the provided parameters. Available report types are: ## Type BANK_STATEMENT_REPORT End-of-day bank statement for the pocket’s bank account, exported in ISO 20022 camt.053 format. Transactions reported in this statement include fund deposits and withdrawals, incoming and outgoing third-party payments (when applicable), fees, automated sweep transactions between the pocket’s bank account and its linked brokerage account. _Note:_ since Jiko automatically sweeps funds between the bank account and the associated brokerage account in the pocket, the bank account’s end-of-day balance is always 0. To report on balances held with Jiko, we invite you to use: - Either the Brokerage statement, to import the value of held T-bills in the cash position of your treasury management system, reported as the closing balance of an account, - or the Trade report, to import individual buy and sell transactions into your treasury management system and derive the corresponding position. Valid output_formats values: CAMT053. ## Type BROKERAGE_STATEMENT_REPORT End-of-day statement for the pocket’s brokerage account, exported in ISO 20022 camt.053 format. With the opening value and closing value of the T-bills held in the pocket on the selected reporting date, represented as the account balance. Values are based on end-of-day market prices, or on the current market price if the report is generated before day-end. The statement also includes the following records that explain the change between the opening and closing values: - Additions: new funds deposited into the brokerage account. - Subtractions: funds withdrawn from the brokerage account. - Gains/Losses from T-bills held in the account. - Fees charged and deducted from the brokerage account. Valid output_formats values: CAMT053. ## Type TRADE_REPORT List of T-bill buy & sell trades within a user-defined range of trade dates, exported in CSV format. Each trade in the file includes three categories of information: - Security master data: CUSIP, issuer, issue date, maturity date. - Trading entity parameters: transaction code, custodian details. - Trade details: buy/sell indicator, trade date, price, amount, reference. The date ranges filter has a maximum range of 31 days. Optionally, the date range filter can be configured to be based on either settlement dates, or book dates. Valid output_formats values: KYRIBA_CSV, CSV. ## Type SECURITY_PRICE_REPORT End-of-day security prices within a user-defined range of dates, exported in CSV format. With: - An “SE” field identifying the entry as a security price. - The name of the price provider: “JIKO”. - The CUSIP of the security. - The pricing date. - The end-of-day price. Valid output_formats values: KYRIBA_CSV. ## Type POSITION_SUMMARY_REPORT Provides a snapshot of holdings as of a user-selected date, showing CUSIP-level positions by pocket along with associated cash values. The report includes the following key fields: Pocket, CUSIP, Quantity, Market Price, Market Value, and Historical Cost Value. Customers use this report to export pocket-level valuations to downstream systems and to reconcile imported buy and sell transactions against the quantities reflected in the Position Summary Valid output_formats values: PDF, CSV. ### Get Report Request - [GET /api/v1/report-requests/{report_request_id}/](https://docs.jiko.io/products/partner-api/reference/reports/get_report_request_api_v1_report_requests__report_request_id___get.md): Retrieves a single report request by ID ### Get Report - [GET /api/v1/reports/{report_id}/](https://docs.jiko.io/products/partner-api/reference/reports/get_report_api_v1_reports__report_id___get.md): Retrieves a single report by ID ### Download Report - [POST /api/v1/reports/{report_id}/download/](https://docs.jiko.io/products/partner-api/reference/reports/download_report_api_v1_reports__report_id__download__post.md): Creates a temporary, time-limited URL for downloading the report corresponding to the given ID ### Render Report Formats - [POST /api/v1/reports/{report_id}/formats/](https://docs.jiko.io/products/partner-api/reference/reports/render_report_formats_api_v1_reports__report_id__formats__post.md): Triggers rendering of additional output formats for an existing report ## ACH Use these endpoints to create, view, and manage ACH Transfers. ### List ACH Originations - [GET /api/v1/jiko-accounts/{account_id}/ach-originating/](https://docs.jiko.io/products/partner-api/reference/ach/list_ach_originations_api_v1_jiko_accounts__account_id__ach_originating__get.md): List all ACH transfer originations. ### Create ACH Origination - [POST /api/v1/jiko-accounts/{account_id}/ach-originating/](https://docs.jiko.io/products/partner-api/reference/ach/create_ach_origination_api_v1_jiko_accounts__account_id__ach_originating__post.md): Originate an ACH transaction with the counterparty. This can only be done after creating a Counterparty for the account. ### ACH Origination Limitations - All transfers that are below 25k and scheduled before 12:00 ET are sent with settlement same-day - All transfers above 25k scheduled before 12:00 ET are sent with settlement next day - All transfers scheduled after 12:00 ET follow the above rules the following day ### Get ACH Origination - [GET /api/v1/jiko-accounts/{account_id}/ach-originating/{transfer_id}/](https://docs.jiko.io/products/partner-api/reference/ach/get_ach_origination_api_v1_jiko_accounts__account_id__ach_originating__transfer_id___get.md): Get a specific ACH transfer origination. ## 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. ### List Counterparties (deprecated) - [GET /api/v1/customers/{customer_id}/counterparties/](https://docs.jiko.io/products/partner-api/reference/counterparties/list_counterparties_api_v1_customers__customer_id__counterparties__get.md): List all counterparties for a customer. Deprecated: Use List Counterparties instead. ### Get Counterparty (deprecated) - [GET /api/v1/customers/{customer_id}/counterparties/{counterparty_id}/](https://docs.jiko.io/products/partner-api/reference/counterparties/get_counterparty_api_v1_customers__customer_id__counterparties__counterparty_id___get.md): Deprecated: Use Get Counterparty instead. Poll this endpoint to monitor the progress of the verification process for a single counterparty. > ### Plaid: > > If plaid.verification_status is PENDING_MANUAL_VERIFICATION, the user is in the Same Day Micro-deposits flow and must return in 1-2 business days and go through the Plaid Link flow again, this time using a new Link token where the _counterparty_id_ is passed to Jiko. ## On-Us Transfers Use these endpoints to create and view On-Us (Book) Transfers between Jiko accounts. ### Create On-Us Transfer - [POST /api/v1/transfers/on-us/](https://docs.jiko.io/products/partner-api/reference/on-us-transfers/create-on-us-transfer.md): Initiates an On-Us Transfer between two Pockets. On-Us Transfers can be made in four directions (defined by type): 1. PARTNER_CUSTOMER_FUNDING: From a Partner’s Pocket to a Customer’s Pocket 2. PARTNER_CUSTOMER_DEFUNDING: From a Customer’s Pocket to a Partner’s Pocket 3. INTERNAL_REALLOCATION: Between two Pockets belonging to the same Customer 4. PEER_TO_PEER: From a Customer’s Pockets to Customer’s On-Us Counterparty On-Us Transfer amounts can be specified two ways (defined by amount.type): 1. REQUESTED_AMOUNT: Transfer a specified dollar amount 2. FULL_WITHDRAWAL: Transfer the Pocket's total available balance (net of fees). amount.type cannot be FULL_WITHDRAWAL when type is PARTNER_CUSTOMER_FUNDING. On-Us Transfers can be processed asynchronously or synchronously. We strongly recommend processing On-Us Transfers asynchronously (setting async_mode to true). Asynchronous transfers will be created in a PENDING state and status updates will be delivered via Webhooks. ### Get On-Us Transfer - [GET /api/v1/transfers/on-us/{transfer_id}/](https://docs.jiko.io/products/partner-api/reference/on-us-transfers/get-on-us-transfer.md): Gets a single on-us transfer by ID. ## 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. ### List Portals - [GET /api/v1/jiko-accounts/{account_id}/portals/](https://docs.jiko.io/products/partner-api/reference/portals/list_account_portals_api_v1_jiko_accounts__account_id__portals__get.md): Get a list of portals associated with an account. ### Create Portal - [POST /api/v1/jiko-accounts/{account_id}/portals/](https://docs.jiko.io/products/partner-api/reference/portals/create_portal_api_v1_jiko_accounts__account_id__portals__post.md): Create a portal for an account. ### Get Account Portal - [GET /api/v1/jiko-accounts/{account_id}/portals/{portal_id}/](https://docs.jiko.io/products/partner-api/reference/portals/get-account-portal.md): Get a specific portal associated with an account. ### Update Portal - [PATCH /api/v1/jiko-accounts/{account_id}/portals/{portal_id}/](https://docs.jiko.io/products/partner-api/reference/portals/update_portal_api_v1_jiko_accounts__account_id__portals__portal_id___patch.md): Update a portal's name. ### Close Portal - [POST /api/v1/jiko-accounts/{account_id}/portals/{portal_id}/close/](https://docs.jiko.io/products/partner-api/reference/portals/close_portal_api_v1_jiko_accounts__account_id__portals__portal_id__close__post.md): Close a portal. This is an irreversible action. ### List Customer Portals - [GET /api/v1/customers/{customer_id}/portals/](https://docs.jiko.io/products/partner-api/reference/portals/list_customer_portals_api_v1_customers__customer_id__portals__get.md): Get a list of portals associated with customer's accounts. ## Wires Use this endpoint to initiate Wire Transfers. ### Create Wire - [POST /api/v1/jiko-accounts/{account_id}/wires/](https://docs.jiko.io/products/partner-api/reference/wires/create-wire.md): Initiates a Wire Transfer. Wires can only be sent to accounts created and verified via Create Counterparty. Initiating outgoing wire transfers isn’t available by default and must be enabled — please contact your Jiko point of contact to learn more. When implementing our Wire Transfer entry screens in your application's UI, you must include the following instructions for your end-users: _“By using this service, you hereby acknowledge that sending wires to third parties presents an increased risk of fraud, and that as per the terms of your Commercial Bank Account Agreement (the "Agreement"), you agree that our security measures are commercially reasonable methods of providing security against unauthorized Funds Transfers, and that you shall be bound by any request for a Funds Transfer received by the Bank, whether or not authorized, issued in your name and accepted by the Bank in compliance with the security measures.”_ ## Pockets ### Create Pocket - [POST /api/v2/customers/{customer_id}/pockets/](https://docs.jiko.io/products/partner-api/reference/pockets/create_pocket_api_v2_customers__customer_id__pockets__post.md): Creates a single Pocket for a customer. Trading strategy for the Pocket is specified with a Pocket Configuration. ### List Pockets For Customer - [GET /api/v2/customers/{customer_id}/pockets/](https://docs.jiko.io/products/partner-api/reference/pockets/list-pockets-v2.md): Retrieve all Pockets for a single Customer. ### List Pockets For Customers - [GET /api/v2/pockets/](https://docs.jiko.io/products/partner-api/reference/pockets/list-all-pockets-v2.md): Retrieve all Pockets for a list of Customers. ### Get Customer Pocket - [GET /api/v2/customers/{customer_id}/pockets/{pocket_id}/](https://docs.jiko.io/products/partner-api/reference/pockets/get-pocket-v2.md): Retrieve a single Pocket for a given pocket_id. ### Update Pocket - [PATCH /api/v2/customers/{customer_id}/pockets/{pocket_id}/](https://docs.jiko.io/products/partner-api/reference/pockets/update-pocket-v2.md): 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. ### Get Pocket - [GET /api/v2/pockets/{pocket_id}/](https://docs.jiko.io/products/partner-api/reference/pockets/get-single-pocket-v2.md): Retrieve a single Pocket for a given pocket_id. ### Get Earnings - [GET /api/v2/pockets/{pocket_id}/earnings/](https://docs.jiko.io/products/partner-api/reference/pockets/get-earnings-v2.md) ## Trading Strategies ### List Trading Strategies - [GET /api/v2/trading-strategies/](https://docs.jiko.io/products/partner-api/reference/trading-strategies/list_trading_strategies_api_v2_trading_strategies__get.md) ## Transactions V2 ### List Pocket Transactions - [GET /api/v2/pockets/{pocket_id}/transactions/](https://docs.jiko.io/products/partner-api/reference/transactions-v2/list-pocket-transactions-v2.md): Returns a list of pocket transactions. It does not include transactions between the bank account and brokerage account. ### List Customer Transactions - [GET /api/v2/customers/{customer_id}/transactions/](https://docs.jiko.io/products/partner-api/reference/transactions-v2/list-customer-transactions-v2.md): Returns a list of customer transactions. It does not include transactions between the bank account and brokerage account. ### List Partner Transactions - [GET /api/v2/transactions/](https://docs.jiko.io/products/partner-api/reference/transactions-v2/list-partner-transactions-v2.md): Returns a list of pocket transactions. It does not include transactions between the bank account and brokerage account. ### Get Transaction - [GET /api/v2/transactions/{transaction_activity_id}/](https://docs.jiko.io/products/partner-api/reference/transactions-v2/get-transaction-v2.md): Retrieves a single transaction activity by ID. A transaction activity represents a single side (debit/credit) of a transaction. ## Counterparties V2 ### List Counterparties - [GET /api/v2/customers/{customer_id}/counterparties/](https://docs.jiko.io/products/partner-api/reference/counterparties-v2/list_counterparties_api_v2_customers__customer_id__counterparties__get.md): Retrieve a list of counterparties for a given account. ### Create Counterparty - [POST /api/v2/customers/{customer_id}/counterparties/](https://docs.jiko.io/products/partner-api/reference/counterparties-v2/create_counterparty_api_v2_customers__customer_id__counterparties__post.md): Creates a counterparty with the provided parameters. There are currently two types of verification available - verification with supporting documents, and with an incoming wire. ### Get Counterparty - [GET /api/v2/customers/{customer_id}/counterparties/{counterparty_id}/](https://docs.jiko.io/products/partner-api/reference/counterparties-v2/get_counterparty_api_v2_customers__customer_id__counterparties__counterparty_id___get.md) ### Update Counterparty - [PATCH /api/v2/customers/{customer_id}/counterparties/{counterparty_id}/](https://docs.jiko.io/products/partner-api/reference/counterparties-v2/update_counterparty_api_v2_customers__customer_id__counterparties__counterparty_id___patch.md)