# Fincore API

Monato is a financial technology company specializing in SPEI transfer services in Mexico. We provide secure, fast, and reliable payment solutions for businesses, enabling seamless bank transfers through our API and platform

Version: 1.0.0

## Servers

```
https://apicore.stg.finch.lat
```

## Security

### ApiKeyAuth

API Key authentication using the "x-api-key" header. Contact us at support@monato.com so we can provide you an API Key.

Type: apiKey
In: header
Name: x-api-key

### bearerAuth

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

[Fincore API](https://docs.monato.com/_bundle/products/fincore/fincore-openapi.yaml)

## Other

### MONEY_IN webhook event.

 - [POST money-in](https://docs.monato.com/products/fincore/fincore-openapi/webhooks/webhookmoneyinpost.md): Monato sends this webhook to notify you about new Money In events into your accounts. The payload covers both external SPEI credits and internal credits (book-to-book). Use fields such as sub_category and payer_institution to distinguish between them.

Internal credits note: INT_CREDIT webhooks are emitted only when the credit is inbound for a different owner than the initiator (e.g., different owner_id, even under the same client_id). Self-transfers under the same client_id + owner_id do not generate a MONEY_IN webhook event.

### Get notified about Status updates.

 - [POST status-update](https://docs.monato.com/products/fincore/fincore-openapi/webhooks/webhookstatusupdatepost.md): Send Status updates for Money Outs

### Get notified about CEP updates (Penny Validation)

 - [POST cep](https://docs.monato.com/products/fincore/fincore-openapi/webhooks/webhookceppost.md): Sends CEP status updates for Penny Validation: PENDING, DELAYED, COMPLETED, or FAILED. This CEP webhook is only triggered for Penny Validation transactions (amount = 0.01 MXN). Note: INITIALIZED is never emitted by the webhook (it may appear on API reads only and should be treated as PENDING).

### Retrieve client credentials

 - [GET /v1/clients/{clientId}/credentials](https://docs.monato.com/products/fincore/fincore-openapi/other/getclientcredentials.md): Returns a list of credentials associated with a specific client.

### Create authentication token

 - [POST /v1/clients/{clientId}/auth/credential-tokens](https://docs.monato.com/products/fincore/fincore-openapi/other/createcredentialtoken.md): Generates an authentication credential token for a private account.

### Retrieve catalog of SPEI participants

 - [GET /v1/banks](https://docs.monato.com/products/fincore/fincore-openapi/other/retrievebankscatalog.md): Returns a paginated list of bank and institutions that are part of the SPEI Network.

### Retrieve accounts for a client

 - [GET /v1/clients/{clientId}/accounts](https://docs.monato.com/products/fincore/fincore-openapi/other/getaccounts.md): Returns a paginated list of accounts for the specified client.

### Create a private account

 - [POST /v1/clients/{clientId}/private_accounts](https://docs.monato.com/products/fincore/fincore-openapi/other/postcreateprivateaccount.md): Endpoint to create a private account for a client.

### Retrieve a single instrument

 - [GET /v1/clients/{clientId}/instruments/{instrumentId}](https://docs.monato.com/products/fincore/fincore-openapi/other/getinstrumentbyid.md): Retrieves an instrument for the specified client. The instrument must belong to the client or to one of its customers; otherwise an error is returned.

### List instruments for a client

 - [GET /v1/clients/{clientId}/instruments](https://docs.monato.com/products/fincore/fincore-openapi/other/listinstruments.md): Returns a paginated list of instruments belonging to the specified client and its customers.
- Without customer_id, it returns instruments for the client and all associated customers.
- With customer_id, it returns only instruments for that customer.

### Register an instrument for a client

 - [POST /v1/clients/{clientId}/instruments](https://docs.monato.com/products/fincore/fincore-openapi/other/registerinstrument.md): Registers an instrument owned by the specified client or by one of its customers.
The request body must include either debit_card or virtual_clabe..

### Create a money out transaction

 - [POST /v1/transactions/money_out](https://docs.monato.com/products/fincore/fincore-openapi/other/createmoneyouttransaction.md): Initiate an outbound transfer. This endpoint supports Idempotency via the Idempotency-Key header (TTL: 24h). Reuse the same key with the exact same body for safe retries. See the Idempotency guide for details.

### Refund a transaction

 - [POST /v1/clients/{clientId}/transactions/{transactionId}/refund](https://docs.monato.com/products/fincore/fincore-openapi/other/createrefund.md): Creates a refund for a transaction. Partial refunds are not allowed. The amount must equal the original transaction amount received.

### List client webhooks

 - [GET /v1/clients/{clientId}/webhooks](https://docs.monato.com/products/fincore/fincore-openapi/other/listclientwebhooks.md): Returns a paginated list of webhooks configured for the specified client.

### Register a webhook for a client

 - [POST /v1/clients/{clientId}/webhooks](https://docs.monato.com/products/fincore/fincore-openapi/other/createclientwebhook.md): Endpoint to register a new URL where the specified client will receive webhooks. Requires Authorization: Bearer  headers.

### Retrieve a client webhook

 - [GET /v1/clients/{clientId}/webhooks/{id}](https://docs.monato.com/products/fincore/fincore-openapi/other/getclientwebhook.md): Returns details for a specific webhook owned by the client.

### Update a client webhook

 - [PATCH /v1/clients/{clientId}/webhooks/{id}](https://docs.monato.com/products/fincore/fincore-openapi/other/updateclientwebhook.md): Updates one or more fields of a webhook owned by the client. All fields in the request body are optional, but at least one must be provided.

### Delete a client webhook

 - [DELETE /v1/clients/{clientId}/webhooks/{id}](https://docs.monato.com/products/fincore/fincore-openapi/other/deleteclientwebhook.md): Deletes (or soft-deletes) a webhook owned by the client.

### Register a webhook (deprecated) (deprecated)

 - [POST /v1/webhooks](https://docs.monato.com/products/fincore/fincore-openapi/other/createwebhook.md): Deprecated. Use Register a webhook for a client instead (POST /v1/clients/{clientId}/webhooks). Requires both x-api-key and Authorization: Bearer  headers.

