# Ownera Documentation > Build institutional-grade SuperApps on the Ownera Router. Connect once to a network of regulated institutions, blockchains and interoperable financial applications—without bespoke, bilateral integrations. ## Guides: Getting Started - [Welcome](https://finp2p-docs.ownera.io/docs/welcome.md): Build institutional-grade applications, spanning legacy, chains, and counterparties. - [Developer Q&A: Getting Started with Ownera](https://finp2p-docs.ownera.io/docs/introduction.md) - [Choose Your Integration Path](https://finp2p-docs.ownera.io/docs/what-is-a-superapp.md) - [Step by Step Implementation Path](https://finp2p-docs.ownera.io/docs/step-by-step-implementation-path.md): From vision to implementation - understand the practical flow of building on Ownera's unified application layer - [Router Integration Architecture](https://finp2p-docs.ownera.io/docs/superapp-architecture.md) - [Hello World Sample](https://finp2p-docs.ownera.io/docs/hello-world-sample.md): Hello World: Connecting an Application to the Ownera Router ## Guides: Core Concepts - [Core Concepts: Router & Primitives](https://finp2p-docs.ownera.io/docs/router-primitives.md) - [The Router Fundamentals](https://finp2p-docs.ownera.io/docs/the-router-fundamentals.md): Understanding the core infrastructure that powers the FinP2P Routers - [Custody and the Investor Identity](https://finp2p-docs.ownera.io/docs/custody-and-the-investor-identity.md) - [Intent-Based Orchestration ](https://finp2p-docs.ownera.io/docs/orchestration-plan-capabilities.md): Orchestration Plans - Understanding how FinP2P orchestrates cross-ledger transactions through intent-based routing ## Guides: Implementation & Use Cases - [Integration Use Case Guides](https://finp2p-docs.ownera.io/docs/integration-to-finp2p-api.md) - [Use Case 1: Trading Application](https://finp2p-docs.ownera.io/docs/use-case-1-integrating-trading-platform-for-investors.md): Built on top of the Distribution & Access Hub primitives - [Use Case 2: Issuer Access Application](https://finp2p-docs.ownera.io/docs/use-case-2-distributing-assets.md): Built on top of the Distribution & Access Hub primitives - [Use Case 3: Payment Utility Connector](https://finp2p-docs.ownera.io/docs/use-case-3-providing-payment-escrow-services.md): Built on top of the Distribution & Access Hub primitives - [Use Case 4: Custody Service](https://finp2p-docs.ownera.io/docs/use-case-4-providing-custody-service.md): Built on top of the Distribution & Access Hub primitives ## API Reference: Introduction - [Introduction - Ownera Router APIs](https://finp2p-docs.ownera.io/reference/introduction.md): Welcome to the Ownera Router API reference. - [Authorization](https://finp2p-docs.ownera.io/reference/authorization.md) ## API Reference: Transactional API - profiles - [Create owner profile](https://finp2p-docs.ownera.io/reference/createownerprofile.md): Creates a new global identity for an asset owner, the Global Identity cryptography is based on the secp256k1 curve - [Add an account to an owner profile](https://finp2p-docs.ownera.io/reference/addaccount.md): Adds a custody managed account to an owner - [Create asset profile](https://finp2p-docs.ownera.io/reference/createassetprofile.md): Creates a new profile for an asset identity - [Update asset profile](https://finp2p-docs.ownera.io/reference/patchassetprofile.md): Patch a profile for an asset identity - [Create intent for asset profile](https://finp2p-docs.ownera.io/reference/addassetprofileintent.md): Create a new intent on an asset profile for either primarySale, buyingIntent or SellingIntent - [Update intent on an asset profile](https://finp2p-docs.ownera.io/reference/updateassetprofileintent.md): Update an asset intent with new intent rules - [Enable the intent](https://finp2p-docs.ownera.io/reference/enableassetprofileintent.md): Enable the intent (in case it was previously disabled) - [Disable the intent](https://finp2p-docs.ownera.io/reference/disableassetprofileintent.md): Disable the intent so that it can not participate in a token transfer, but is still visible to other participants with an inactive status - [Share profile with other organizations](https://finp2p-docs.ownera.io/reference/shareprofile.md): Shares profile with other organizations - [Intent types allowed to be applied on asset](https://finp2p-docs.ownera.io/reference/enableassetallowedintents.md): Enable intent types to be used on given asset id - [Block intent types from being applied on asset](https://finp2p-docs.ownera.io/reference/disableassetallowedintents.md): Block intent types to be used on given asset id - [Create a new wallet for an investor (LA-generated)](https://finp2p-docs.ownera.io/reference/createinvestoraccount.md): The LA generates a fresh wallet on the asset's network and owns the keys. Async: returns `202 { cid }`; poll `GET /operations/{cid}` for the outcome. On completion the payload includes the canonical… - [Bind an existing external wallet to an investor (caller-supplied)](https://finp2p-docs.ownera.io/reference/bindinvestoraccount.md): Caller supplies an external network account they own, optionally with an `ownershipSignature` hint. Proof-of-ownership is enforced by the ledger adapter according to its own policy — typically a… - [Submit a signature proof for a pending account workflow](https://finp2p-docs.ownera.io/reference/submitaccountproof-1.md): Used only for `signatureTemplate` challenges. The client submits an `ownershipSignature` over the LA-issued payload. Advances the workflow from `AWAITING_PROOF_SUBMISSION` to verification; the… - [Unbind a wallet from an investor](https://finp2p-docs.ownera.io/reference/removeinvestoraccount.md): Unbinds a wallet from an investor. Asynchronous: returns `202 { cid }`; the local mirror row is removed only after the LA confirms completion. - [Cancel the intent](https://finp2p-docs.ownera.io/reference/cancelassetprofileintent.md): Cancel the intent so that it can no longer participate in a token transfer - [Reject the intent](https://finp2p-docs.ownera.io/reference/rejectassetprofileintent.md): Reject the intent. Optional reason may be supplied. - [Sync an investor's network accounts on an asset from the ledger adapter](https://finp2p-docs.ownera.io/reference/syncinvestoraccounts.md): Asks the asset's ledger adapter which network accounts it already holds for this investor on the asset (e.g. wallets whitelisted directly on the adapter or its external system) and makes that list… - certificates - [Create Certificate](https://finp2p-docs.ownera.io/reference/createcertificate.md): Creates a new Certificate for a specific profile identity - [Update Certificate](https://finp2p-docs.ownera.io/reference/updatecertificate.md): Updates a new Certificate for a specific profile identity - [Update Certificate](https://finp2p-docs.ownera.io/reference/patchcertificate.md): Patch a Certificate for a specific profile identity - docs - [Adds a new document on a Certificate](https://finp2p-docs.ownera.io/reference/addcertificatedoc.md): Adds a new document associated with a Certificate ID. Each attachment is limited to 1 GB (configurable per deployment); a larger upload is rejected with 413 Payload Too Large, and an upload that… - [Get document](https://finp2p-docs.ownera.io/reference/getdoc.md): Get document content, associated with a Certificate ID - [Update document](https://finp2p-docs.ownera.io/reference/updatecertificatedoc.md): Update an existing document on a Certificate. Each attachment is limited to 1 GB (configurable per deployment); a larger upload is rejected with 413 Payload Too Large, and an upload that stalls is… - tokens - [Execute token intent operation](https://finp2p-docs.ownera.io/reference/executetoken.md): Execute a token intent - [Asset Token transfer](https://finp2p-docs.ownera.io/reference/transfertoken.md): Transfer existing asset token to a new owner. Transfer of ownership is done by eliminating existing tokens owned by the sender and creating new tokens with the new owner. - [Cancel execution](https://finp2p-docs.ownera.io/reference/cancelexecutetoken.md): Best effort cancellation of ongoing plan - [Request asset balance synchronization](https://finp2p-docs.ownera.io/reference/balance-3.md): Initiates a request to synchronize the asset account's balance with the ledger. The process is asynchronous and completes in the background. - [Propose execution plan reset](https://finp2p-docs.ownera.io/reference/resetexecutionplan.md): Initiates a reset proposal for an execution plan to a specified instruction sequence. The proposal must be ledger-approved by all participants. Once all approvals are collected, the reset process… - [Get asset balance](https://finp2p-docs.ownera.io/reference/getassetbalance-1.md): Get owner Asset's tokens balance - [Dry-run a token intent execution](https://finp2p-docs.ownera.io/reference/dryrunexecutetoken.md): Predict the execution plan for an intent WITHOUT executing it. Returns whether the intent would be executable and, if so, the predicted plan (instructions, participants). This is a prediction, not a… - operations - [Get operation](https://finp2p-docs.ownera.io/reference/getoperation.md): get the operation state by the operation correlation id - messages - [Send message](https://finp2p-docs.ownera.io/reference/sendmessage.md): Send a message to a group of users. Each attachment is limited to 1 GB (configurable per deployment); a larger upload is rejected with 413 Payload Too Large, and an upload that stalls is closed with… - data - [Trigger immediate data refresh](https://finp2p-docs.ownera.io/reference/refreshdatanow.md): Manually trigger a data refresh for the specified identifiers. This fetches the latest data from configured data providers immediately, regardless of the scheduled refresh interval. - [Ingest asset data](https://finp2p-docs.ownera.io/reference/ingestassetdata.md): Unified endpoint for ingesting asset data from any source: - Manual push from API consumers - Adapter subscription callbacks (push mode) - Adapter async pull responses Supports single or batch.… - [Create a data rule](https://finp2p-docs.ownera.io/reference/createdatarule.md): Create a new data rule that maps an asset identifier (e.g. ISIN) to a data provider and the data types that provider supplies for matching assets. - [Update a data rule](https://finp2p-docs.ownera.io/reference/updatedatarule.md): Update the data types or enabled status of an existing data rule. - [Delete a data rule](https://finp2p-docs.ownera.io/reference/deletedatarule.md): Remove a data rule. Existing refresh configs created from this rule are not affected. - [Upload documents](https://finp2p-docs.ownera.io/reference/uploaddocuments.md): Upload one or more documents to file storage and receive a URI for each. Each attachment is limited to 1 GB (configurable per deployment); a larger upload is rejected with 413 Payload Too Large, and… - payments - [Create deposit request](https://finp2p-docs.ownera.io/reference/createdepositrequest.md): Create a new deposit request - [Create withdraw request](https://finp2p-docs.ownera.io/reference/createwithdrawrequest.md): Create a new withdraw request - attachments - [Get attachment](https://finp2p-docs.ownera.io/reference/getattachment.md): Get document content, associated with a message ID - health - [Health check](https://finp2p-docs.ownera.io/reference/gethealth-2.md): Returns the health status of the service. - [Multi-Settlement (Settlement Menus)](https://finp2p-docs.ownera.io/reference/multi-settlement.md) - [API Error Codes Reference](https://finp2p-docs.ownera.io/reference/api-error-codes-reference.md) ## API Reference: Query API - [GraphQL Reference](https://finp2p-docs.ownera.io/reference/the-graphql-schema.md) - [Asset](https://finp2p-docs.ownera.io/reference/asset.md): Query for assets and related information - [User](https://finp2p-docs.ownera.io/reference/user.md): GraphQL queries showing you how to get information around users - [Execution Plan](https://finp2p-docs.ownera.io/reference/execution-plan.md) - [Assets](https://finp2p-docs.ownera.io/reference/assets.md): Query for assets and related information - [ExecutionPlans](https://finp2p-docs.ownera.io/reference/executionplans.md) ## API Reference: Ledger Adapter Specification - payments - [Deposit instruction](https://finp2p-docs.ownera.io/reference/depositinstruction.md): Create a deposit instruction for an owner - [Payout request](https://finp2p-docs.ownera.io/reference/payout.md): Payout owner assets to external destination - management - [Create asset](https://finp2p-docs.ownera.io/reference/createasset.md): Create a new asset - [Create or bind an investor account on this LA (Phase 1)](https://finp2p-docs.ownera.io/reference/createaccount-1.md): Single LA-side endpoint covering both flows: - **Create new** — `bindInfo` is absent. The LA generates a fresh wallet on the asset's network. - **Bind existing** — `bindInfo` carries the… - [Submit signature proof for a signatureTemplate challenge (Phase 1)](https://finp2p-docs.ownera.io/reference/submitaccountproof.md): Used only when the challenge `type` is `signatureTemplate`. The asset node forwards the client's signature; the LA verifies it against the challenge payload. Verification outcome is reported via the… - [Unbind an investor account (Phase 1)](https://finp2p-docs.ownera.io/reference/removeaccount.md): Removes the account entry from the `ledger.accounts.wallets` jsonb column. Async; cid in response. - [Look up the accounts this LA already holds for an investor on an asset](https://finp2p-docs.ownera.io/reference/lookupaccounts.md): The asset node asks the LA which network accounts it already associates with `finId` on `(organizationId, assetId)` — e.g. wallets whitelisted directly on the adapter or its external system. The LA… - issuance - [Issue asset token](https://finp2p-docs.ownera.io/reference/issueassets.md): Issue specified amount of asset tokens for the owner - [Asset Token Redeem](https://finp2p-docs.ownera.io/reference/redeemassets.md): Redeem existing asset token for new owner. Redeem of ownership is done by eliminating existing tokens owned by the owner. - transactions - [Get asset balance](https://finp2p-docs.ownera.io/reference/getassetbalance.md): Get asset balance for specified owner - [Asset Token Transfer](https://finp2p-docs.ownera.io/reference/transferasset.md): Transfer existing asset token to a new owner. Transfer of ownership is done by eliminating existing tokens owned by the sender and creating new tokens with the new owner. - [Get Receipt](https://finp2p-docs.ownera.io/reference/getreceipt-1.md): Get asset transaction receipt - [Get asset balance information](https://finp2p-docs.ownera.io/reference/getassetbalanceinfo.md): Get asset balance information for finId - [Asset Token Move](https://finp2p-docs.ownera.io/reference/moveassets.md): Move existing asset token to another ledger - escrow - [Hold Asset](https://finp2p-docs.ownera.io/reference/holdoperation.md): Hold the owner asset - [Release Asset](https://finp2p-docs.ownera.io/reference/releaseoperation.md): Release held assets - [Rollback held asset](https://finp2p-docs.ownera.io/reference/rollbackoperation.md): Release back held asset to the owner - [Ledger Proofs](https://finp2p-docs.ownera.io/reference/ledger-proofs.md) - operations - [Get Operation Status](https://finp2p-docs.ownera.io/reference/getoperation-1.md): Get the operation status by an operation correlation id - health - [Health check](https://finp2p-docs.ownera.io/reference/gethealth.md): Returns the health status of the service. - execution - [Approve execution plan](https://finp2p-docs.ownera.io/reference/approveexecutionplan.md): Expects a ledger to approve the upcoming execution plan - [Approve a plan proposal plan](https://finp2p-docs.ownera.io/reference/executionplanproposal.md): Request adapter approval or rejection to a proposal in an execution plan - [Notify the adapter on the agreement status (Approve/Rejected) for a specific proposal](https://finp2p-docs.ownera.io/reference/executionplanproposalstatus.md): notify the adapter on proposal status ## API Reference: Custody Adapter Specification - accounts - [create account](https://finp2p-docs.ownera.io/reference/createaccount.md): create an account, allocates a cryptographic private/public key - [/accounts](https://finp2p-docs.ownera.io/reference/get_accounts.md) - [Custody Adapter API introduction](https://finp2p-docs.ownera.io/reference/custody-adapter-api-introduction.md) - signatures - [create a signing request](https://finp2p-docs.ownera.io/reference/createsignaturerequest.md): create a signature request to sign the payload hash - [/signatures](https://finp2p-docs.ownera.io/reference/get_signatures.md) - [Transaction Signature Schemes](https://finp2p-docs.ownera.io/reference/signature-schemes.md) - execution - [Approve execution plan](https://finp2p-docs.ownera.io/reference/approveexecutionplan-1.md): Expects a ledger to approve the upcoming execution plan - [Approve a plan proposal plan](https://finp2p-docs.ownera.io/reference/executionplanproposal-1.md): Request adapter approval or rejection to a proposal in an execution plan - [Notify the adapter on the agreement status (Approve/Rejected) for a specific proposal](https://finp2p-docs.ownera.io/reference/executionplanproposalstatus-1.md): notify the adapter on proposal status - operations - [Get Operation Status](https://finp2p-docs.ownera.io/reference/getoperation-2.md): Get the operation status by an operation correlation id - health - [Health check](https://finp2p-docs.ownera.io/reference/gethealth-1.md): Returns the health status of the service. ## API Reference: Proxy Ledger Adapter API - [Proxy Ledger Adapter API Introduction](https://finp2p-docs.ownera.io/reference/proxy-ledger-adapter-api-introduction.md) - command retrieve - [Retrieve command](https://finp2p-docs.ownera.io/reference/commandread.md): retrieve pending un-acked command - [Establish SSE connection](https://finp2p-docs.ownera.io/reference/streamsse.md): Establishes a long-lived Server-Sent Events (SSE) connection to receive commands in real-time. ## Stream Format The stream sends newline-delimited messages. Each message is either: - **Command**: A… - command processing - [Acknowledge Command](https://finp2p-docs.ownera.io/reference/ackcommand.md): acknowledge command retrieval - [Receive operation response](https://finp2p-docs.ownera.io/reference/sendoperationresponse.md): Endpoint for clients to send command responses correlating with the command using the command cid ## API Reference: Proxy Custody Adapter API - [Proxy Custody Adapter API Introduction](https://finp2p-docs.ownera.io/reference/proxy-custody-adapter-api-introduction.md) - command retrieve - [Retrieve command](https://finp2p-docs.ownera.io/reference/commandread-1.md): retrieve pending un-acked command - command processing - [Acknowledge Command](https://finp2p-docs.ownera.io/reference/ackcommand-1.md): acknowledge command retrieval - [Receive operation response](https://finp2p-docs.ownera.io/reference/sendoperationresponse-1.md): Endpoint for clients to send command responses correlating with the command using the command cid ## API Reference: Operational API - ledger - [Import external transactions](https://finp2p-docs.ownera.io/reference/import-transactions.md): Import transactions performed outside of FinP2P - [Update Ledger binding](https://finp2p-docs.ownera.io/reference/update-ledger-binding.md): Update a ledger integration - [Bind Ledger](https://finp2p-docs.ownera.io/reference/bind-ledger.md): Define a new ledger integration - execution - [Get execution plan](https://finp2p-docs.ownera.io/reference/getexecutionplan.md): Get execution plan - [Set approvals config](https://finp2p-docs.ownera.io/reference/setapprovalsconfig.md): Sets the approvals configuration for the router. Defines which approvers are required for each router category (tokenization, payments, investor, custodian). - [Update approvals config](https://finp2p-docs.ownera.io/reference/updateapprovalsconfig.md): Updates the approvals configuration for the router. Allows partial updates to approvers per router category (tokenization, payments, investor, custodian). - [Set approvals config](https://finp2p-docs.ownera.io/reference/setproposalsconfig.md): Deprecated. Use /execution/approvalsConfig. Sets the approvals configuration for the router. Defines which approvers are required for each router category (tokenization, payments, investor,… - [Update approvals config](https://finp2p-docs.ownera.io/reference/updateproposalsconfig.md): Deprecated. Use /execution/approvalsConfig. Updates the approvals configuration for the router. Allows partial updates to approvers per router category (tokenization, payments, investor, custodian). - custody - [Bind Custody Provider](https://finp2p-docs.ownera.io/reference/bind-custody-provider.md): Define a new custody provider integration. Only one custody provider is supported at a time. - [Update Custody Provider binding](https://finp2p-docs.ownera.io/reference/update-custody-provider-binding.md): Update a custody provider integration - operation - [callback operation](https://finp2p-docs.ownera.io/reference/callback-operation.md) - workflow - [Cancel workflow](https://finp2p-docs.ownera.io/reference/cancelworkflow.md): Cancel workflow - this method is deprecated, use /workflow/{workflowId}/cancel - [Reset workflow to a specific state](https://finp2p-docs.ownera.io/reference/resetworkflow.md): Resets a workflow to a specific state, clearing intermediate data and continuing from the reset point - [Cancel workflow execution](https://finp2p-docs.ownera.io/reference/cancelworkflowbyid.md): Cancels a workflow, stopping its execution permanently - [Retry workflow](https://finp2p-docs.ownera.io/reference/retryworkflow.md): Resets a workflow when it is hanging - discovery - [Set pinning configuration](https://finp2p-docs.ownera.io/reference/setpinningconfig.md): Set pinning configuration, overriding any existing configuration - [Update pinning configuration, add/remove/modify entries](https://finp2p-docs.ownera.io/reference/updatepinningconfig.md): Update pinning configuration - dataprovider - [Bind Data Provider](https://finp2p-docs.ownera.io/reference/bind-data-provider.md): Define a new data provider integration - [Update Data Provider binding](https://finp2p-docs.ownera.io/reference/update-data-provider-binding.md): Update an existing data provider integration - labels - [List cert-to-label mappings](https://finp2p-docs.ownera.io/reference/listlabelmappings.md): List the runtime-configurable cert-to-label mappings - [Add a cert-to-label mapping](https://finp2p-docs.ownera.io/reference/addlabelmapping.md): Add a mapping from one certificate data type's field to one resource label. When multiple mappings produce the same label key, the most recently created mapping wins. - [Delete a cert-to-label mapping](https://finp2p-docs.ownera.io/reference/deletelabelmapping.md): Delete a cert-to-label mapping by id - [List a resource's labels](https://finp2p-docs.ownera.io/reference/listresourcelabels.md): List a resource's labels, each annotated with its source (derived or manual) - [Set a manual resource label](https://finp2p-docs.ownera.io/reference/addresourcelabel.md): Set a manual label on a resource; claims the key away from any derived label of the same key - [Remove a manual resource label](https://finp2p-docs.ownera.io/reference/removeresourcelabel.md): Remove a resource's manual label for key; a derived label of the same key, if any, is untouched - policies - [Get trading policy](https://finp2p-docs.ownera.io/reference/getpolicybyid.md): Get trading policy - [Delete trading policy](https://finp2p-docs.ownera.io/reference/deletepolicybyid.md): Delete trading policy - [Find trading policies](https://finp2p-docs.ownera.io/reference/findpolicies.md): Find trading policies - [Get trading policies of the asset](https://finp2p-docs.ownera.io/reference/getassetpoliciesbyassetid.md): Get policies of the asset - [Update a policy](https://finp2p-docs.ownera.io/reference/updatepolicy.md): Update a policy - [Create a policy](https://finp2p-docs.ownera.io/reference/createpolicy.md): Create a policy - capabilities - [Get node capabilities](https://finp2p-docs.ownera.io/reference/getnodecapabilities.md): Returns this node's effective protocol capabilities, derived from its configured trading policies plus a code-level baseline. Served from a cache (rebuilt on a cold cache); read-only. ## API Reference: MCP Server - [Docs MCP](https://finp2p-docs.ownera.io/reference/mcp.md) ## API Reference: Data Provider Adapter Specification - [Data Provider Adapter API Introduction](https://finp2p-docs.ownera.io/reference/data-provider-adapter-api-introduction.md) - data - [Request asset data (async)](https://finp2p-docs.ownera.io/reference/fetchassetdata.md): Request financial data for assets matching the filter. The adapter accepts the request and pushes the response to the node's ingest endpoint asynchronously. - subscription - [Subscribe to asset data updates](https://finp2p-docs.ownera.io/reference/subscribeassetdata.md): Subscribe to receive data updates when asset data changes. The adapter will push updates to the node's ingest endpoint (configured at deployment time). Subscription scope is controlled by the… - [Unsubscribe from asset data updates](https://finp2p-docs.ownera.io/reference/unsubscribeassetdata.md): Remove a previously created subscription