# The Helcim API API

> The Helcim API API on Apizie: 28 endpoints (Tests connectivity to the Helcim API, Process Purchase Transaction, Process Preauth Transaction, Process Capture Transaction, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/open-data:helcim/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:helcim`
- Category: Open Data
- Status: byok
- Source: https://www.helcim.com
- Page: https://apizie.tech/api/open-data/helcim
- OpenAPI: https://apizie.tech/api/open-data/helcim/openapi.json

This API covers publicly accessible merchant actions

## Endpoints

### Tests connectivity to the Helcim API
`GET https://apizie.tech/v1/open-data:helcim/general-test-connectivity-to-helcim-api` (byok)

### Process Purchase Transaction
`POST https://apizie.tech/v1/open-data:helcim/payment-process-purchase-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| idempotency-key | string | yes | Idempotency Key. Alphanumeric 25-characters |
| body | object | no | JSON request body |

### Process Preauth Transaction
`POST https://apizie.tech/v1/open-data:helcim/payment-process-preauth-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| idempotency-key | string | yes | Idempotency Key. Alphanumeric 25-characters |
| body | object | no | JSON request body |

### Process Capture Transaction
`POST https://apizie.tech/v1/open-data:helcim/payment-process-capture-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| idempotency-key | string | yes | Idempotency Key. Alphanumeric 25-characters |
| body | object | no | JSON request body |

### Process Verify Transaction
`POST https://apizie.tech/v1/open-data:helcim/payment-verify-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| idempotency-key | string | yes | Idempotency Key. Alphanumeric 25-characters |
| body | object | no | JSON request body |

### Process Refund Transaction
`POST https://apizie.tech/v1/open-data:helcim/payment-process-refund-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| idempotency-key | string | yes | Idempotency Key. Alphanumeric 25-characters |
| body | object | no | JSON request body |

### Process Reverse Transaction
`POST https://apizie.tech/v1/open-data:helcim/payment-reverse-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| idempotency-key | string | yes | Idempotency Key. Alphanumeric 25-characters |
| body | object | no | JSON request body |

### Process Withdraw Transaction
`POST https://apizie.tech/v1/open-data:helcim/payment-process-withdrawal-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| idempotency-key | string | yes | Idempotency Key. Alphanumeric 25-characters |
| body | object | no | JSON request body |

### Get Card Batch
`GET https://apizie.tech/v1/open-data:helcim/card-batch-get-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cardBatchId | integer | yes | The Card Batch Id of the Card Batch you want to get |
| collect-stats | string | no | Includes transaction statistics for the batch |

### Settles an Open Card Batch
`POST https://apizie.tech/v1/open-data:helcim/card-batch-settle-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cardBatchId | integer | yes | The Card Batch Id of the Card Batch you want to settle |

### Get Card Transaction by id
`GET https://apizie.tech/v1/open-data:helcim/card-transaction-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cardTransactionId | integer | yes | The Card Transaction Id of the Card Transaction you want to get |

### Get customer
`GET https://apizie.tech/v1/open-data:helcim/customer-get-customer` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | integer | yes | The Id of the customer |

### Update customer
`POST https://apizie.tech/v1/open-data:helcim/customer-update-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | string | yes | The Id of the customer |
| body | object | no | JSON request body |

### Get customer cards
`GET https://apizie.tech/v1/open-data:helcim/customer-get-cards` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | integer | yes | The Id of the customer |
| cardToken | string | no | The card token. |

### Get customer card
`GET https://apizie.tech/v1/open-data:helcim/customer-get-card-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | integer | yes | The Id of the customer |
| cardId | integer | yes | The Id of the card |

### Get customer bank accounts
`GET https://apizie.tech/v1/open-data:helcim/customer-get-bank-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | integer | yes | The Id of the customer |
| bankToken | string | no | The bank account token. |
| verified | number | no | Check if bank account is verified or not. use 1 or 0. |
| ready | number | no | Check if bank account is ready or not. use 1 or 0. |

### Get customer bank account
`GET https://apizie.tech/v1/open-data:helcim/customer-get-bank-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | integer | yes | The Id of the customer |
| bankAccountId | integer | yes | The Id of the bank account |

### Set customer bank account as default
`POST https://apizie.tech/v1/open-data:helcim/customer-set-bank-account-default` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | integer | yes | The Id of the customer |
| bankAccountId | integer | yes | The Id of the bank account |

### Get invoice
`GET https://apizie.tech/v1/open-data:helcim/invoice-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoiceId | string | yes | The unique invoice Id |

### Update invoice
`POST https://apizie.tech/v1/open-data:helcim/invoice-update-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoiceId | string | yes | The unique invoice Id |
| body | object | no | JSON request body |

### Creates a HelcimPay.js Checkout Session
`POST https://apizie.tech/v1/open-data:helcim/helcim-pay-create-checkout-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Card Batches
`GET https://apizie.tech/v1/open-data:helcim/card-batch-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| batchNumber | number | no | The number of the batch to retrieve. Note that this is the batch number, not batch ID. |
| terminalId | number | no | The terminalId of the requested batch |
| collect-stats | string | no | Includes transaction statistics for the batch |

### Collects up to 1000 Card Transactions
`GET https://apizie.tech/v1/open-data:helcim/card-transaction-collect-transactions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| dateFrom | string | no | Filters transactions created from 2020-01-01 (Mountain Time) |
| dateTo | string | no | Filters transactions created until 2021-01-01 (Mountain Time) |
| search | string | no | Searches amount, card number(F4L4 only), cardholder name, & approval codes |
| customerCode | string | no | The code of the customer associated with the transaction |
| invoiceNumber | string | no | The number of the invoice associated with the transaction |
| cardToken | string | no | The token of the card associated with the transaction |
| cardBatchId | integer | no | The id of the batch associated with the transaction |

### Get customers
`GET https://apizie.tech/v1/open-data:helcim/customer-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | no | The search term to be used for partial matching on contactName, businessName, customerCode, city, phone and email (Only use one query… |
| customerCode | string | no | Existing customer code (Only use one query field per request). |

### Create customer
`POST https://apizie.tech/v1/open-data:helcim/customer-create-new-customer` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get invoices
`GET https://apizie.tech/v1/open-data:helcim/invoice-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoiceNumber | string | no | The number of the invoice associated with the transaction |
| dateStart | string | no | Filters transactions created from 2020-01-01 (Mountain Time) |
| dateEnd | string | no | Filters transactions created until 2021-01-01 (Mountain Time) |
| withConvenienceFee | integer | no | Include convenience fee of each invoice 0 / 1 |

### Create invoice
`POST https://apizie.tech/v1/open-data:helcim/invoice-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get card terminals
`GET https://apizie.tech/v1/open-data:helcim/card-terminal-get-all` (byok)

## Example
```
curl "https://apizie.tech/v1/open-data:helcim/general-test-connectivity-to-helcim-api" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the The Helcim API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/open-data:helcim/general-test-connectivity-to-helcim-api with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the The Helcim API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. The Helcim API itself also needs your own key from api.helcim.com.

### Can AI agents use the The Helcim API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:helcim.

### What is the status of the The Helcim API API?
Needs your own provider key (bring your own key)
