{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/partner-api/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Domestic wires","description":"Jiko Technologies' external APIs for integrators.","lang":"en-US","siteUrl":"https://docs.jiko.io","projectTitle":"Jiko Technologies API Documentation","jsonLd":{"@context":"https://schema.org","@type":"Organization","name":"Jiko Technologies","url":"https://docs.jiko.io","logo":"https://docs.jiko.io/static/jiko-logo-blue.svg"},"llmstxt":{"hide":false,"title":"Jiko Technologies API Documentation","description":"External APIs for integrators","sections":[{"title":"Customer API","includeFiles":["products/customer-api/**/*.md"]},{"title":"Partner API","includeFiles":["products/partner-api/**/*.md"]}]},"meta":[{"name":"robots","content":"index,follow,max-image-preview:large"}]},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"domestic-wires","__idx":0},"children":["Domestic wires"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A domestic wire sends funds from a pocket to a US bank account your customer has registered and verified with Jiko. Wires are credit-push only and settle within a bank business day; there is no return window and no equivalent of an ACH return."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required end-user disclosure."]}," When you build wire entry screens in your own UI, you must show your end users the following: ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["\"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.\""]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"api-note"},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"feature-flags","__idx":2},"children":["Feature flags"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Feature flags are set by Jiko per partner and evaluated against the API user making the request. A call that needs a flag you do not have fails with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]},". Ask your Jiko point of contact for the ones you need."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Flag"},"children":["Flag"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Needed for"},"children":["Needed for"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Without it"},"children":["Without it"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enable_counterparty_ownership"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sending ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ownership_type"]}," on a wire counterparty at all — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FIRST_PARTY"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["THIRD_PARTY"]}," both go through it"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]},". Omitting the field is accepted, but the counterparty is then not marked third party, which changes the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unverified"]}," rule below"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unverified_wire_counterparty"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unverified"]}," verification on a counterparty that is not explicitly ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["THIRD_PARTY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]}," at counterparty creation"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pre_verified_wire_counterparty"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pre_verified"]}," verification"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]}," at counterparty creation"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["None of these gates the wire itself. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/v1/jiko-accounts/{account_id}/wires/"]}," carries no feature flag — the flags gate the counterparty you must have before you can send."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"everything-else","__idx":3},"children":["Everything else"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Outbound wires enabled on your partnership."]}," They are not on by default, and this is commercial rather than a flag."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["An approved customer and a pocket in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OPEN"]}," status."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A wire counterparty in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINKED"]}," status."]}," Jiko never wires to a raw account number. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]}," is not enough, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FAILED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNLINKED"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CLOSED"]}," are terminal. Wait for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty.status.linked"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A verification method your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ownership_type"]}," permits."]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unverified"]}," is not a way to skip verification on your customer's own account; see the table below. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supporting_documents"]}," needs at least one already-uploaded document ID, and review takes days, so budget for it."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Balance that can actually move."]}," Read ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["liquidation_value_t0"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["liquidation_value_t1"]}," on the pocket's portfolio rather than ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["total_value"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created_by"]}," on every wire."]}," It is required, and it is what Jiko records as the instructing party."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]}," you generate."]}," The create call returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["201"]}," with an empty body, so without your own ID you have no handle on the wire."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The end-user disclosure above, shown in your own UI."]}," It is a contractual condition of the product, not a recommendation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A wire-enabled portal, to receive."]}," The portal must be ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OPEN"]}," and carry ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WIRE"]}," in its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_rails"]},", and the payer must be given the values from the portal's funding instructions rather than assembled details."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A webhook subscription"]}," for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.out.processing"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.out.success"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.out.rejected"]}," and, for inbound, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.in.success"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.in.rejected"]},". Subscriptions are recorded against the API user that creates them."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"register-the-wire-counterparty","__idx":4},"children":["Register the wire counterparty"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"POST /api/v2/customers/{customer_id}/counterparties/\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A wire counterparty carries:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty_name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Discriminated on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["individual"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first_name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["last_name"]},") or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["business"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["business_name"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Beneficiary address, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["state"]}," required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["institution_name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Receiving bank"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["routing_number"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Beneficiary bank ABA"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["identifier"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["identifier_code"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The beneficiary account identifier and what kind it is — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DIRECT_DEPOSIT_ACCOUNT"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SWIFT_BIC"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FED_ROUTING_NUMBER"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CHIPS_PARTICIPANT"]}," and others"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_instructions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Up to 140 characters, carried on the message"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ownership_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FIRST_PARTY"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["THIRD_PARTY"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["display_name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Up to 200 characters, your own label, no effect on routing"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"ownership_type-decides-which-verification-is-acceptable","__idx":5},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ownership_type"]}," decides which verification is acceptable"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FIRST_PARTY"]}," means the destination account belongs to your customer. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["THIRD_PARTY"]}," means it belongs to someone else — a supplier, a landlord, a contractor."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Verification method"},"children":["Verification method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Allowed on"},"children":["Allowed on"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incoming_wire"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["First party"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A wire was received from that account, proving control. Reference the receiving ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supporting_documents"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["First or third party"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Documents submitted and reviewed. Reviewed by Jiko, takes days"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pre_verified"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["First party"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You verified by Plaid or micro-deposit on your side and assert it. Enabled per partner"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unverified"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Third party only"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ownership verification is not the right check when the account is not the customer's. Enabled per partner"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unverified"]}," is not a shortcut for skipping verification on a customer's own account. A first-party destination must be verified by one of the other methods."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wait for the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty.status.linked"]}," webhook before originating. It carries ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty_id"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer_id"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"workflow","__idx":6},"children":["Workflow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Partner systems:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Decide ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ownership_type"]},". It constrains which verification you may use, and it is the field that decides whether ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unverified"]}," needs a feature flag."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Register the counterparty with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type: \"wire\""]}," and a verification block. For ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supporting_documents"]},", upload the documents first — the request takes their IDs, at least one."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Wait for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty.status.linked"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FAILED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNLINKED"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CLOSED"]}," are terminal; recovering means registering a new counterparty."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create the wire with your own ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]}," and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created_by"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Track it by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]}," — through the webhooks, the wire resource, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["filter[wire]"]}," on the transaction feed."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"relevant-api-endpoints","__idx":7},"children":["Relevant API endpoints"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Step"},"children":["Step"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Register the beneficiary as a counterparty"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["POST ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/v2/customers/{customer_id}/counterparties/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check its status without waiting on the webhook"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GET ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/v2/customers/{customer_id}/counterparties/{counterparty_id}/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send the wire"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["POST ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/v1/jiko-accounts/{account_id}/wires/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read it back, including ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_tracking_info"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GET ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/v1/wires/{wire_id}/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["5"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Resolve it to its transaction"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GET ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/v2/transactions/?filter[wire]={wire_id}"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"create-a-wire","__idx":8},"children":["Create a wire"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"POST /api/v1/jiko-accounts/{account_id}/wires/\n"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The linked wire counterparty"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount_usdc"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Amount in USD cents"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created_by"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Identifier of the person or system instructing the wire. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Up to 100 characters, carried to the beneficiary as originator-to-beneficiary information"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Client-generated UUID. Optional, but always supply one"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"always-supply-wire_id","__idx":9},"children":["Always supply ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The endpoint returns ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["201"]}," with an empty body"]},". If you do not supply an ID, Jiko generates one and you have no direct way to learn it — you would have to list wires and match on amount and time. Supplying your own makes the call idempotent and gives you the handle for every subsequent lookup and every webhook."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created_by"]}," is recorded on the wire. Where a wire requires approval, Jiko also records the approvers and returns them as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_verifiers"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"lifecycle","__idx":10},"children":["Lifecycle"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Accepted and progressing"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SUCCESS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sent to the network"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REJECTED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Rejected or cancelled"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SUCCESS"]}," means the wire has been ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["sent"]},", not that the beneficiary bank has credited it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"webhooks","__idx":11},"children":["Webhooks"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Event"},"children":["Event"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.out.processing"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wire accepted and in progress"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.out.success"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wire sent"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.out.rejected"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wire rejected or cancelled"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Payload: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["jiko_account_id"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.out.processing"]}," can fire ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["more than once"]}," as a wire moves between internal stages, all of which collapse to the same event. Treat it as \"still in progress\" and rely on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rejected"]}," for terminal outcomes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"endpoints","__idx":12},"children":["Endpoints"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Operation"},"children":["Operation"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create a wire"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/v1/jiko-accounts/{account_id}/wires/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List wires"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /api/v1/wires/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get a wire"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /api/v1/wires/{wire_id}/"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /api/v1/wires/"]}," is cursor-paginated and accepts ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["direction=OUTGOING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer_id"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pocket_id"]},". An outgoing wire returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pocket_id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty_id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_verifiers"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_tracking_info"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tracing","__idx":13},"children":["Tracing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once the wire is exported, Jiko assigns the network identifiers and exposes them in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_tracking_info"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uetr"]}]}," — the end-to-end reference that follows the payment through every institution in the chain. This is what a beneficiary's bank asks for when tracing a payment, and what you should surface to a customer chasing one."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["imad"]}]}," — the clearing network's input reference."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction_identification"]}]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["end_to_end_identification"]}]}," — party-assigned references on the ISO 20022 message, up to 35 characters each."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These are populated when the wire is sent, so they are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["absent while the wire is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]}]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"reading-the-money","__idx":14},"children":["Reading the money"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An outgoing wire appears in the transaction feed as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type: \"WIRE\""]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["direction: \"DEBIT\""]},", carrying ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["counterparty_name"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reference_number"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Resolve a wire to its transaction with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["filter[wire]"]},", which accepts one or more wire IDs. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["filter[type]=WIRE"]}," narrows to the rail, and the usual ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount_from"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount_to"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["time_booked_from"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["time_booked_to"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["time_settled_from"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["time_settled_to"]}," filters are available."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The wire resource and the transaction serve different purposes: the wire resource is the payment as the network sees it, the transaction is the money as the pocket sees it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"receiving-a-domestic-wire","__idx":15},"children":["Receiving a domestic wire"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Inbound domestic wires address a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["portal"]}," directly. The beneficiary account number on the wire is the portal's account number and the receiving bank is Jiko's domestic bank. Jiko resolves the portal from the account number and checks that the routing number on the wire matches the portal's; a mismatch stops the wire from being attributed automatically."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get the details to hand a payer from:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GET /api/v2/pockets/{pocket_id}/portals/{portal_id}/funding-instructions/\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DOMESTIC_WIRE"]}," instruction returns the receiver bank (routing number, name, address) and the beneficiary (account number, the customer's legal name, address), already populated. Do not assemble them yourself from the portal's raw fields."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A wire-enabled portal returns ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["both"]}," a domestic and an international instruction, and they are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not interchangeable"]}," — the beneficiary account differs between them."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Inbound events are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.in.success"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers.wire.in.rejected"]},", with a payload of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["jiko_account_id"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wire_id"]},". Where Jiko cannot resolve the beneficiary to a pocket, no event fires and no transaction exists."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wires post within a bank business day. A wire arriving outside banking hours, at a weekend, or on a bank holiday posts on the next business day, not on receipt."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"see-also","__idx":16},"children":["See also"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/partner-api/guides/building/international-wires"},"children":["International wires"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/partner-api/reference/wires/create-wire"},"children":["Create wire"]}," — full request schema"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/partner-api/reference/counterparties-v2/create_counterparty_api_v2_customers__customer_id__counterparties__post"},"children":["Counterparties"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/partner-api/guides/building/webhooks"},"children":["Webhooks"]}]}]}]},"headings":[{"value":"Domestic wires","id":"domestic-wires","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Feature flags","id":"feature-flags","depth":3},{"value":"Everything else","id":"everything-else","depth":3},{"value":"Register the wire counterparty","id":"register-the-wire-counterparty","depth":2},{"value":"ownership_type decides which verification is acceptable","id":"ownership_type-decides-which-verification-is-acceptable","depth":3},{"value":"Workflow","id":"workflow","depth":3},{"value":"Relevant API endpoints","id":"relevant-api-endpoints","depth":3},{"value":"Create a wire","id":"create-a-wire","depth":2},{"value":"Always supply wire_id","id":"always-supply-wire_id","depth":3},{"value":"Lifecycle","id":"lifecycle","depth":2},{"value":"Webhooks","id":"webhooks","depth":2},{"value":"Endpoints","id":"endpoints","depth":2},{"value":"Tracing","id":"tracing","depth":2},{"value":"Reading the money","id":"reading-the-money","depth":2},{"value":"Receiving a domestic wire","id":"receiving-a-domestic-wire","depth":2},{"value":"See also","id":"see-also","depth":2}],"frontmatter":{"seo":{"title":"Domestic wires"}},"lastModified":"2026-09-22T15:21:07.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/partner-api/guides/building/domestic-wires","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}