Wealth Reader (8.1.9)

Download OpenAPI specification:

PSD2に基づく規制APIは、銀行口座残高や取引などの特定の金融情報へのアクセスを提供します。ただし、これらのAPIではアクセスできない他の富情報源が存在します。Wealth Reader APIは、規制APIが提供する情報を拡張し、世界中のあらゆるエンティティにおける追加の富源へのリアルタイムアクセスを提供します。Wealth Reader APIの統合に役立つ他の2つの関連ドキュメントがあります。1つはJavascriptウィジェット統合ガイド:https://docs-en.wealthreader.com/ で、もう1つはこのドキュメントに基づくPostmanコレクションです。 非常に重要:このAPI定義は、Widget経由で統合するクライアント向けに適応されているため、このタイプの統合に必要のない一部のパラメータ(銀行認証パラメータなど)が省略されており、トークンが使用されます。

Core

標準統合に必要なコアAPI

金融資産とその構成詳細を取得します

株式またはファンドで構成された投資ポートフォリオ、クレジットカード、保険、融資を含む金融資産とその構成詳細を取得します。各資産の所有権情報とデータ処理を容易にする一意の識別子が含まれます。Mockデータを取得することが可能です。技術チームに方法を確認してください。

Request Body schema: application/x-www-form-urlencoded
api_key
string

サービス内のクライアントを識別します

code
string

エンティティの名前。完全なリストはGETで取得できます

例: caixabank

token
string

保管された資格情報を識別します。トークンが取得されたフローは「ウィジェット統合ガイド」文書に記載されています。次のMockユーザーが利用可能です:MOCKDATA、OK応答;MOCKOTP、OTPチャレンジ付き応答;MOCKLOGINKO、ログインエラー応答

例: MOCKDATA

product_types
string
Enum: "accounts" "portfolios" "cards" "receipts" "loans" "factoring" "confirming" "properties" "invoices" "files" "deposits" "leases" "insurances"

情報を取得する製品タイプのリスト。カンマで区切られた複数の値を受け入れます。

例: accounts,portfolios

only_balances
boolean
Default: false

利用可能なすべての情報ではなく、製品の残高のみを取得するかどうかを示します。デフォルト値:false。

例: false

fetch_transaction_details
boolean
Default: false

エンティティのコネクタが対応している場合に、取引の拡張詳細を取得するかどうかを示します。重要:有効にすると、返される情報を充実させるために取引ごとに1回以上の追加ナビゲーションを実行します。これにより実行時間が必然的かつ大幅に増加します。追加ナビゲーションの数は取引量に応じて増加します。デフォルトで返される詳細レベルを超える詳細が必要であると確信できる場合にのみ有効にすることをお勧めします。取得した詳細は各取引レベルの additional_info キーに挿入されます。このパラメータの使用には専用環境が必要です。

例: false

date_from
string <date>

トランザクションが要求される日付、YYYY-MM-DD形式。今日より前の日付である必要があります。

例: 2024-01-01

date_to
string <date>

これはローンおよびコンファーミング製品の将来の日付による制限にのみ適用されます。YYYY-MM-DD形式。日付は今日より後でなければなりません

例: 2025-12-31

required_products_schema
string

必要な製品スキーマ。データが必要なアカウントまたはカードを、追加の設定とともに示します。

例:

{
  "ACCOUNTS": {
    "0ae4d722b1c82feeafb4b36b2893230444071335": {
      "only_balances": false,
      "add_pdf_from_uuids": [
        "90763109952d4f2ebece8dceca8254078c5384a0"
      ],
      "date_from": "2024-04-03"
    }
  },
  "CARDS": {
    "957e6f63546f3fecacce80192b6f7436496dc057": {}
  }
}
add_pdf_from_uuids
string

カンマで区切られたトランザクションuuidを受け入れます。product_typesがALLまたはaccountsを含む場合にのみ考慮されるパラメータ。要求された各銀行取引に関連付けられたPDFドキュメントを追加します。

例:

20966426721d0885ef9d4b95535e1d3198936f16,8772d6c978d37d7af83094abf380b8b703e94105,e59296b79e7f80cec26679d2c65883025fd59295
otp_method
string

APIがエラーコード2017または20171(複数のOTP方式)を返したときに、どの第二要素配信チャネルを使うかを指定します。その応答と同じセッション識別子で再呼び出しし、statistics.otpMethods内のいずれかのオブジェクトのotp_methodフィールドの文字列を完全一致で設定します(配列インデックス不可)。初回のクレデンシャル要求では省略可能。ユーザー選択後に送信。下の例は参考用です。常にstatistics.otpMethodsで返された文字列をそのまま使用してください。

例: OTP_SMS ****1234

Responses

Request samples

Content type
application/x-www-form-urlencoded
api_key=a1b2c3d4e5f6g7h8i9j0&code=caixabank&token=1234Asdf&product_types=accounts%2Cportfolios&only_balances=false&date_from=2024-01-01&date_to=2025-12-31&required_products_schema=%7B%22ACCOUNTS%22%3A%7B%220ae4d722b1c82feeafb4b36b2893230444071335%22%3A%7B%22only_balances%22%3Afalse%2C%22add_pdf_from_uuids%22%3A%5B%2290763109952d4f2ebece8dceca8254078c5384a0%22%5D%2C%22date_from%22%3A%222024-04-03%22%7D%7D%2C%22CARDS%22%3A%7B%22957e6f63546f3fecacce80192b6f7436496dc057%22%3A%7B%7D%7D%7D&add_pdf_from_uuids=20966426721d0885ef9d4b95535e1d3198936f16%2C8772d6c978d37d7af83094abf380b8b703e94105

Response samples

Content type
application/json
[
  • {
    }
]

取引タイプのリスト

query Parameters
lang
string
Default: "es"
Enum: "es" "en"

Response language

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

api_keyに関連付けられたトークンを照会する

この方法を使用して、特定の api_key にリンクされたトークンを照会します。結果はページ単位で返されます。limit で1ページあたりのトークン数(最大500)を指定し、page で返すページを選択します。api_key、method、limit は必須です。いずれかが欠けているか無効な場合、APIは HTTP 400 とエラーコード 2 を返します。

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string^[a-z0-9]{8}$

サービス内のクライアントを識別するためのapi_key

method
required
string
Value: "get"

実行する操作。サポートされている値は get のみです。

例: get

limit
required
integer [ 1 .. 500 ]

1ページあたりのトークン数。最小 1、最大 500。

例: 100

page
integer >= 1
Default: 1

取得したいページ番号を指定します。各ページには最大 limit 個のトークンが含まれます。指定しない場合、デフォルト値は1です。

例: 1

code
string

トークンを絞り込むためのエンティティコード。省略した場合、すべてのエンティティのトークンが返されます。

例: bbva

sort_by
string
Default: "created_at"
Enum: "created_at" "accesed_at"

結果の並べ替えに使用するフィールド:created_at(作成日)または accesed_at(最終アクセス日)。デフォルトは created_at。

例: created_at

sort_order
string
Default: "DESC"
Enum: "ASC" "DESC"

並べ替えの方向:ASC(昇順)または DESC(降順)。デフォルトは DESC。

例: DESC

Responses

Request samples

Content type
application/x-www-form-urlencoded
api_key=a1b2c3d4&method=get&limit=100&page=1

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    },
  • "pagination": {
    },
  • "statistics": {
    }
}

トークンを取り消す

この方法により、既存のトークンを取り消して、将来のAPIアクセスリクエストの承認を解除できます。

Request Body schema: application/x-www-form-urlencoded
required
api_key
string

サービス内のクライアントを識別します

token
string

取り消すトークン。

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Token successfully revoked."
}

トークンを別のapi_keyに再割り当てする

このメソッドにより、トークンをあるapi_keyから別のapi_keyに再割り当てできます。

Request Body schema: application/x-www-form-urlencoded
required
api_key_source
string

トークンを再割り当てする元のapi_key。

api_key_target
string

トークンを再割り当てする先のapi_key。

token
string

再割り当てするトークン。

例: FRJ0mHlaqZwLzu

Responses

Request samples

Content type
application/x-www-form-urlencoded
api_key_source=a1b2c3d4e5f6g7h8i9j0&api_key_target=b2c3d4e5f6g7h8i9j0k1&token=FRJ0mHlaqZwLzu

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Token successfully reassigned."
}

新しいドメインを追加する

ウィジェットをホストするドメインと宛先Webhookの関連付けを追加します。ドメインの編集やテストには https://www.wealthreader.com/clients/ をご利用ください

Request Body schema: application/x-www-form-urlencoded
required
method
required
string

Method to execute.

例: add

api_key
required
string

User's API key.

domain
required
string

Domain to add.

例: http://desarrollo.cliente.es

url_callback
required
string

URL for callback.

例: https://desarrollo.cliente.es/hooks/wealthreader

tokenize
required
string
Enum: "1" "0"

ウィジェットがトークン化フローを開始するかを制御します:

  • 1 - ユーザーは金融機関で認証(ログイン、同意、必要に応じて2FA)を行い、再利用可能なトークンが返されます
  • 0 - トークン化は実行されません。以前取得したトークンの値をリクエストに含める必要があります

例: 1

Responses

Request samples

Content type
application/x-www-form-urlencoded
method=add&api_key=a1b2c3d4e5f6g7h8i9j0&domain=https%3A%2F%2Fwww.cliente.com&url_callback=https%3A%2F%2Fwww.cliente.com%2Fwebhooks%2Fwealthreader&tokenize=1

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}

エラーコードのリスト

エラーコードのリスト。すべてのエラーコードがアプリケーションで同じ扱いを受けるべきではないことに特に注意してください。パスワードが間違っているエラーの場合、同じパラメータで呼び出しを再試行すべきではありませんが、エンティティがメンテナンス中であることを示すエラーの場合は、再試行できます。エラー管理に関するご質問は、当社チームとの技術セッションをリクエストしてください。

query Parameters
lang
string
Default: "es"
Enum: "es" "en"

Response language

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

警告コードのリスト

警告コードのリスト。

query Parameters
lang
string
Default: "es"
Enum: "es" "en"

Response language

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

Advanced

標準統合に必要のないオプションのエンドポイント。Wealth Reader が明示的に指示する場合にのみ使用してください。

サポートされているエンティティのリストを取得します

サポートされているエンティティのリストと、エンティティのログインフォームを描画するために必要な情報を取得します。

query Parameters
show_only_tested
integer
Default: 0
Enum: 0 1

Indicates whether to show only tested entities. Default value is 0. In production environments, always use 1.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

IBANによる銀行口座所有権の確認

このエンドポイントはオプションであり、標準統合には必要ありません。Wealth Readerが明示的に指示した場合にのみ使用してください。 IBANと主張される保有者の識別データを使用して、自然人または法人が特定の銀行口座の保有者であるかどうかを確認できます。 IBAN_OWNERSHIP 製品が許可された api_key が必要です。 最初のリクエストは api_key、iban、document_type、document_number、holder_name で送信します。結果が PENDING ステータスを返した場合、api_key と session のみを送信して再度照会できます。NO_RESPONSE は最終的なエラー結果です。再試行するには、session なしで新しい検証を開始する必要があります。

Request Body schema: application/x-www-form-urlencoded
required
One of
api_key
required
string

Identifies the client in the service. It must have the IBAN_OWNERSHIP product authorized.

iban
required
string

IBAN code of the bank account to verify (without spaces)

例: ES4914651234561234567890

document_type
required
string
Enum: "NIF" "NIE" "Pasaporte" "CIF"

Type of identification document

例: NIF

document_number
required
string

Identification document number

例: 12345678Z

holder_name
required
string

Full name of the natural person or company name

例: LUIS GARCIA BAQUERO

Responses

Request samples

Content type
application/x-www-form-urlencoded
Example
api_key=a1b2c3d4e5f6g7h8i9j0&iban=ES4914651234561234567890&document_type=NIF&document_number=12345678Z&holder_name=LUIS%20GARCIA%20BAQUERO

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "payload": {
    },
  • "statistics": {
    }
}

新規ユーザーを登録する

このエンドポイントはオプションであり、標準統合には必要ありません。Wealth Readerが明示的に指示した場合にのみ使用してください。 このエンドポイントにより、一意の識別子に基づいて、ポートフォリオ転送プラットフォームEasytransferまたはレポートツールAcumulasにユーザーを登録できます。

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string

Authentication key (8 alphanumeric characters)

user_id
required
string

User identification document.

例: 12345678A

service
required
string
Enum: "integra" "easy-transfer"

Service associated with the user. Determines the data flow.

例: easy-transfer

email
required
string <email>

User email, used according to service type.

例: sai_banker@singularbank.com

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "User registered successfully"
}

ユーザー登録状態を確認する

このエンドポイントはオプションであり、標準統合には必要ありません。Wealth Readerが明示的に指示した場合にのみ使用してください。 ユーザーがEasytransferまたはAcumulasシステムに登録されているかどうかを確認し、ユーザーの一意のアクセスリンクを返します。

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string

Authentication key

user_id
required
string

User identification document.

例: 12345678A

Responses

Response samples

Content type
application/json
{}

以前に登録したユーザーを取り消す

このエンドポイントはオプションであり、標準統合には必要ありません。Wealth Readerが明示的に指示した場合にのみ使用してください。 このエンドポイントにより、EasytransferまたはAcumulasプラットフォームサービスからユーザーの登録を解除できます。

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string

Authentication key (8 alphanumeric characters)

user_id
required
string

User identification document.

例: 12345678A

service
required
string
Enum: "integra" "easy-transfer" "all"

Service from which to unregister the user. 'all' for all services.

例: easy-transfer

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "User unregistered successfully"
}

バッチ接続読み込み

このエンドポイントはオプションであり、標準統合には必要ありません。Wealth Readerが明示的に指示した場合にのみ使用してください。 重要:Wealthreader側でバッチプロセス管理を使用するには、専用環境が必要です。このエンドポイントはapi.wealthreader.comでは利用できません。 "batch"タグの下にグループ化されたエンドポイントは、同期的な/entities/メソッドとは異なり、複数の銀行接続を非同期で処理できます。大量の接続を処理し、タイムアウトを回避するのに最適です。

Request Body schema: application/json
required
api_key
required
string

Identifies the client in the service

notification_url
required
string <uri>

Webhook URL. A notification is sent to this URL for each individual credential as soon as it completes processing, not only once all connections in the batch are done.

例: https://example.com/webhook/batch-complete

required
Array of objects (batch-connection) non-empty

List of connections to process

Responses

Callbacks

Request samples

Content type
application/json
{
  • "api_key": "a1b2c3d4e5f6g7h8i9j0",
  • "connections": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "batch_id": "batch_20250120_a1b2c3d4",
  • "total_connections": 5,
  • "estimated_completion_time": "2025-01-20T10:45:00Z"
}

Callback payload samples

Callback
POST: Webhook fired when a credential finishes processing
Content type
application/json
{
  • "batch_id": 10863151,
  • "credential_id": "cred_demo_002",
  • "status": "completed",
  • "timestamp": "2026-05-13T08:02:47+00:00"
}

バッチ接続の一般統計を取得する

このエンドポイントはオプションです。バッチ内のすべての接続の処理結果に関する一般的な統計を取得します。

Request Body schema: application/json
required
api_key
required
string

Identifies the client in the service

batch_id
required
string

Batch ID

Responses

Request samples

Content type
application/json
{
  • "api_key": "string",
  • "batch_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "batch_id": "batch_20250120_a1b2c3d4",
  • "status": "completed",
  • "statistics": {
    }
}

バッチ内の特定の接続の個別結果を取得する

このエンドポイントはオプションです。バッチから特定の接続の結果を取得します。

Request Body schema: application/json
required
api_key
required
string

Identifies the client in the service

batch_id
required
string

Batch ID

credential_id
required
string

Filter by specific credential_id

Responses

Request samples

Content type
application/json
{
  • "api_key": "string",
  • "batch_id": "string",
  • "credential_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    },
  • "statistics": {
    }
}

Cards (real time)

Real-time card expense synchronization from the Open Sync mobile app: per-customer employee pre-registration, signed webhooks (card_transaction.created / card_enrollment.confirmed), and REST query / backfill.

Register or rotate the real-time cards webhook

Creates or updates the webhook URL of the customer for the card_transaction.created and card_enrollment.confirmed events (see the cards-webhook-delivery schema for the delivery format and signature). On first setup, or when rotate_secret is true, a new webhook_secret (64 hex characters) is generated and returned once; in any other case webhook_secret comes back as null in the response and cannot be retrieved again. webhook_url must always be https:// and must resolve to a publicly routable host: localhost, private, loopback, link-local (including the cloud metadata address), CGNAT, multicast and reserved addresses are rejected, in any notation (hexadecimal, decimal, octal, short dotted or IPv4-mapped IPv6), and so is a hostname that does not resolve at all. The same check runs again right before every delivery, not only at registration: if the host is repointed at an internal address afterwards (DNS rebinding) the delivery is closed as failed with response_excerpt "blocked_host". Sending null in webhook_url disables webhooks for that customer; omitting the field leaves the stored URL untouched, which is how the secret is rotated without changing the URL.

Request Body schema: application/json
required
api_key
required
string

API key of the customer.

webhook_url
string or null

https:// URL that will receive the events, on a publicly routable host that resolves in DNS. null disables webhooks; omitting the field leaves the stored URL unchanged.

例: https://cliente.example.com/webhooks/wealthreader-cards

rotate_secret
boolean
Default: false

When true, generates and returns a new webhook_secret.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Pre-register the email of an employee

Creates an enrollment request in pending status with a short expiry (ttl_minutes, 20 by default, between 1 and 60) for the employee to confirm by opening the mobile app and entering that email (POST /user-sync-validation/, no contract change for the app). It is idempotent: repeating the call for the same (api_key, email) while it is still pending and not expired returns the same request. If the email is already linked to the calling customer, it returns status "active" directly. If it is already linked to a different customer, it returns 409. Rate limit: at most 60 calls to this endpoint per api_key every 60 seconds, counting every attempt and not only the ones that create a row, checked before anything else so the answers that create nothing (200 already active, 409 linked to another customer, 400) cannot be walked as an enumeration oracle. Exceeding it returns 429 with code rate_limited.

Request Body schema: application/json
required
api_key
required
string

API key of the customer.

email
required
string <email>

Email of the employee to pre-register.

例: empleado@cliente.com

ttl_minutes
integer [ 1 .. 60 ]
Default: 20

Minutes the request stays valid before expiring.

Responses

Request samples

Content type
application/json
{
  • "api_key": "a1b2c3d4",
  • "email": "empleado@cliente.com",
  • "ttl_minutes": 20
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

Check the status of an enrollment

Read-only status of an enrollment request. It has no side effects on card users, unlike POST /user-sync-validation/, which does confirm. The only write allowed is lazily marking a pending enrollment whose expiry date has already passed as expired.

query Parameters
api_key
required
string
Example: api_key=a1b2c3d4

API key of the customer. Note it travels in the query string, so it ends up in access logs and intermediary proxies.

例: a1b2c3d4

enrollment_id
required
string
Example: enrollment_id=0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c

Identifier returned by POST /cards/enrollments/.

例: 0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

Query / backfill real-time card transactions

Returns the real-time card transactions received for the employees linked to this api_key, ordered by ascending id. Meant both for periodic backfill (poll with date_from/date_to and paginate with since_id) and for one-off queries. This is the same transaction object carried by the card_transaction.created webhook.

query Parameters
api_key
required
string
Example: api_key=a1b2c3d4

API key of the customer. Note it travels in the query string, so it ends up in access logs and intermediary proxies.

例: a1b2c3d4

date_from
string <date>
Example: date_from=2026-07-01

YYYY-MM-DD, on the operation date. Default: today minus 3 days.

例: 2026-07-01

date_to
string <date>
Example: date_to=2026-07-11

YYYY-MM-DD, on the operation date. Default: today.

例: 2026-07-11

email
string <email>
Example: email=empleado@cliente.com

Filters by the email of the employee.

例: empleado@cliente.com

since_id
integer
Example: since_id=216

Exclusive cursor on the transaction id, for pagination.

例: 216

limit
integer <= 1000
Default: 500
Example: limit=500

Maximum number of transactions to return (500 by default, 1000 max).

例: 500

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}