API Reference

API Reference

Complete REST API reference for the Minka Ledger. Browse endpoints by resource.

Anchor

An Anchor is a ledger record that establishes a connection between a user's wallet in the ledger and an external identifier, such as a bank account number, email, or phone number. This linkage is critical for onboarding users and enabling seamless interactions between the ledger and external systems.

Bridge

A Bridge is a configuration record in the ledger that facilitates integration with external services or systems. It acts as a connector, enabling the ledger to interact with remote services, such as banking cores, to execute operations like debits and credits in response to changes in ledger balances. Bridges are essential for extending the ledger's functionality and integrating it with other financial systems. Bridges support multiple authentication mechanisms through their secure configuration: - OAuth2: Client credentials flow for token-based authentication - Header: Custom header-based authentication (multiple headers can be configured) - Generic: Flexible key-value authentication for custom implementations Multiple security rules can be applied simultaneously, with OAuth2 and header-based authentication working together.

Circle

A Circle is a ledger record that defines a group or role comprising multiple signers. By grouping signers into circles, administrators can streamline access control management, granting permissions to entire groups rather than individual signers. This simplifies the process of managing access rules and enhances security by centralizing control.

Domain

A Domain is a namespace within the ledger that organizes and contains other ledger records. It provides a mechanism for data separation, allowing different sets of records to be managed independently. Domains help structure the ledger's data hierarchy and can be used to implement multi-tenancy or segregate records for different purposes or entities.

Effect

An Effect is a ledger component that defines automated behaviors triggered by changes in ledger data. When a change occurs, such as a transaction or update to a record, the ledger broadcasts an event identified by a specific signal. Effects can be configured to listen for these signals and, based on defined filters, execute actions like notifying external systems via webhooks or integrating with other services. Effects are crucial for extending the ledger's capabilities and integrating it with external workflows or systems.

Intent

An Intent represents a request to perform one or more balance movements in the ledger. It is composed of claims, each describing a specific action, such as transferring funds from one wallet to another. The ledger processes all claims within an intent atomically, ensuring that either all actions succeed or none do, maintaining data integrity. Each intent has a unique handle for idempotency and easy retrieval. Additionally, intents can include custom metadata to provide context about the operation, such as invoice numbers or payment descriptions.

Ledger

The Ledger is the central component that manages all records, configurations, and operations within the system. It stores global settings, such as access rules, and maintains the ledger signer, which is responsible for signing transactions owned by the ledger itself. The ledger ensures the integrity and security of all data and transactions.

Policy

A Policy is a ledger record that encapsulates a set of access rules applicable to other records. By defining policies, administrators can centralize and simplify the management of permissions across the ledger. Instead of specifying access rules individually for each record, policies allow for reusable sets of rules that can be applied uniformly, enhancing consistency and reducing administrative overhead.

Report

A Report is a ledger record that contains generated data or documents based on the ledger's information. The structure and content of a report are determined by its schema, while specific generation parameters are stored in the custom field. Reports can be used for auditing, compliance, reconciliation or providing insights into ledger activities.

Schema

A Schema is a ledger record that specifies the structure and validation constraints for other records. When a record references a schema, it must conform to the schema's rules before it can be stored in the ledger. Schemas enable a flexible and extensible data model, allowing the ledger to adapt to new use cases while maintaining data integrity.

Signer

A Signer is a ledger record that associates a cryptographic key pair with additional metadata. These key pairs are essential for signing and verifying requests to the ledger, ensuring authenticity and integrity. Signers can include extra information, such as security constraints or links to external records, providing context and enhancing the management of signing authorities.

Symbol

A Symbol is a ledger record that defines a unit of exchange, such as a currency, loyalty points, or any countable asset. Each balance in the ledger is associated with a specific symbol, indicating what the balance represents. The owner of a symbol has the authority to issue new units of that symbol, controlling its supply. However, once units are issued and transferred to other wallets, the symbol owner cannot control their circulation; the holders of the balances have full control over their assets.

System Request

A System Request is a ledger record that logs incoming and outgoing requests to the ledger, including API calls related to records, intent processing, and event dispatches. These logs capture details such as the source and target of the request, the specific record involved, and the action performed. System Requests are signed by the ledger for authenticity and can be used for auditing, monitoring, or debugging purposes.

Wallet

A Wallet is a ledger record that represents an entity capable of holding balances of various symbols, such as currencies or points. Each wallet is identified by a unique, user-defined handle, which can be a phone number, email, or any memorable identifier relevant to the use case. Wallets are versatile and can model a wide range of financial concepts, including bank accounts, loyalty programs, subscriptions, or loans, by associating them with appropriate symbols and balances.

On this page

No Headings