canonical: https://jentic.com/apis/efekta.cz/efekta

# Efekta Cz EFEKTA API

The EFEKTA API powers a Czech securities brokerage (OCP) platform, exposing client investment accounts, portfolio holdings, and the onboarding and compliance workflows around them. Agents retrieve portfolios by account, ISIN, or currency, read account charges, statistics, and time-series graph data, and generate portfolio PDFs. The API also manages client acquisitions, MiFID and ESG investment questionnaires, and front-office, back-office, and compliance approval and authorization requests. Authentication supports an API key, a JWT bearer token, and OAuth2 client-credentials and password flows.

## For AI agents

Retrieve client investment accounts and portfolio holdings, read charges and statistics, and manage onboarding, questionnaires, and approval workflows for a securities brokerage. Covers 304 operations across clients, accounts, and compliance.

## Scope

Does not handle market data feeds, order execution on exchanges, or payment settlement. Use for brokerage client, portfolio, and compliance operations only.

## Capabilities

- Retrieve client investment accounts and portfolio holdings by account, ISIN, or currency
- Read account charges, statistics, and time-series graph data for a portfolio
- Manage client acquisitions and their onboarding attributes
- Handle MiFID and ESG investment questionnaires for suitability and AML
- Process approval and authorization requests through front-office and compliance workflows
- Generate portfolio PDFs and download client documents and files

## Use cases

### AI Agent Portfolio Reporting

Let an AI agent produce a client portfolio report on request: it retrieves the holdings for an account, reads the account's statistics and time-series graph data, and generates the portfolio PDF. Through Jentic the agent discovers the right EFEKTA operation by intent and calls it with the account number, so a reporting task runs without a developer navigating hundreds of endpoints by hand.

Example prompt: Retrieve a client's portfolio by account number, read its statistics and graph data, then generate the portfolio PDF

### Client Onboarding and Suitability

Brokerages must confirm a client's suitability and AML status before acting on their behalf. The API fetches a client's acquisition record and their latest valid investment questionnaire, including MiFID and ESG answers, so an agent can confirm the paperwork is current. This keeps a suitability check tied to live records rather than a stale copy.

Example prompt: Fetch a client's acquisition record and their latest valid investment questionnaire to confirm suitability before an action

### Approval and Authorization Workflows

Brokerage operations route requests through front-office, back-office, and compliance stages. The API lists pending approval requests, approves or rejects one by its uid, and checks the status of related authorization requests. An agent uses this to move items through the pipeline and surface anything stuck in compliance.

Example prompt: List pending approval requests, approve one by its uid, then check the status of a related authorization request

### Holdings Lookup by Instrument

Analysts often start from an instrument rather than an account to see exposure. The API returns portfolio holdings for a given ISIN across accounts and lists the currencies a portfolio holds. An agent assembles an instrument-level view without exporting the whole book.

Example prompt: Get portfolio holdings for a given ISIN across accounts, then list the portfolio currencies

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/v2/clients/accounts/portfolio/get-by-account/{accountNumber}` | Get a client's portfolio by account number |
| GET | `/api/v2/clients/accounts/portfolio/get-by-isin/{isin}` | Get portfolio holdings by ISIN |
| GET | `/api/v2/clients/accounts/get-charge/{accountNumber}` | Get the charges on a client's account |
| POST | `/api/v2/clients/accounts/portfolio/get-pdf` | Generate a portfolio PDF |
| GET | `/api/v2/approval-requests/list` | List approval requests |
| POST | `/api/v2/approval-requests/approve/{uid}` | Approve an approval request |
| GET | `/api/v2/authorization-requests/status/{uid}` | Get an authorization request's status |
| POST | `/api/v2/auth/access-token` | Get an OAuth2 access token |

## Key resources

- **Clients** — Manage client accounts, acquisitions, investment questionnaires, and payment information
- **Accounts and portfolio** — Retrieve portfolios by account, ISIN, or currency and read charges, statistics, and graph data
- **Approval requests** — List, approve, reject, intervene in, and route approval requests through office stages
- **Authorization requests** — Create, resend, reauthorize, and check the status of authorization requests

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 19 / 100
- **Maturity:** Non-Ready
- **Dimensions:**
  - Foundational Compliance: 47 / 100
  - Developer Experience & Jentic Compatibility: 50 / 100
  - AI-Readiness & Agent Experience: 11 / 100
  - Agent Usability: 43 / 100
  - Security: 40 / 100
  - AI Discoverability: 6 / 100
- **View full report:** https://jentic.com/apis/efekta.cz/efekta/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring EFEKTA by hand means choosing among its API key, JWT bearer, and OAuth2 client-credentials and password flows, and learning its client, account, and approval-request model across hundreds of operations. Through Jentic you install once, import EFEKTA from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** EFEKTA puts the account number, ISIN, and request uid in the URL path (`/clients/accounts/portfolio/get-by-account/{accountNumber}`), so a rule can pin your agent to specific accounts or requests and the operations you pick. You choose the operations it may call, so reading portfolios and statistics can be allowed while actions like approving or rejecting requests are not included unless you add them.
- **Credential handling:** Your EFEKTA credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get a client's portfolio' or 'list approval requests', and Jentic returns the matching EFEKTA operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Alpaca Broker API** — Brokerage-as-a-service for accounts, portfolios, and trading in the US
- **Interactive Brokers API** — Global trading and account access across many asset classes
- **Tradier API** — US brokerage API for accounts, balances, and order placement
- **Plaid API** — Bank and investment account aggregation to enrich client financial data

## FAQ

### What authentication does the EFEKTA API use?

The EFEKTA API supports several schemes per its OpenAPI spec: an API key passed as a query parameter, a JWT bearer token, and OAuth2 client-credentials and password flows that issue an access token from its auth endpoint. Through Jentic the credential is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's context.

### Can I read a client's portfolio with the EFEKTA API?

Yes. The portfolio operations return a client's holdings by account number, by ISIN, or across currencies, with optional details, and related operations return account charges, statistics, and time-series graph data. A separate operation generates a portfolio PDF.

### What are the rate limits for the EFEKTA API?

The OpenAPI spec does not specify rate limits; see https://efekta.cz for current limits. Many list operations accept date ranges and filters, so scope queries narrowly rather than pulling the full client base on each call.

### Is there an EFEKTA MCP server?

You don't need an MCP server to give your agent the EFEKTA API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls operations like reading a portfolio or listing approval requests. Operations are discovered on demand, so no extra server's tool definitions sit in your agent's context.

### Can I limit what my agent is allowed to do with the EFEKTA API?

Yes. Write a rule that allows only the portfolio and statistics read operations, so the agent can report on accounts but cannot approve, reject, or intervene in approval requests. Because EFEKTA addresses accounts and requests by id in the URL path, a rule can also pin the agent to specific accounts, and every call is logged.

### How do I read a client's portfolio with the EFEKTA API through Jentic?

Search Jentic for 'get a client's investment portfolio' to find the portfolio-by-account operation, pass the account number, then read the holdings and generate a PDF if needed. To run it on your own infrastructure, install Jentic One from its GitHub repo.
