Betalink Docs

Introduction

Welcome to the Betalink API documentation

The Betalink API provides B2B payment infrastructure for Danish company data and Mastercard transaction processing.

Features

Company Data

Access Danish company information including CVR numbers, registration status, and account details.

Transaction Processing

Retrieve and manage Mastercard disposition transactions for registered companies.

Cursor Pagination

Efficiently paginate through large datasets with cursor-based pagination.

Type-Safe Client

Full TypeScript support with runtime validation using Effect Schema.

Quick Start

Install the API client:

npm install @betalink/api-client

Make your first API call:

import { createBetalinkClient } from "@betalink/api-client";

const client = createBetalinkClient({
  baseUrl: "https://betalink.dev/api",
  apiKey: "your-api-key",
});

// List all companies
const companies = await client.listCompanies();
console.log(companies.data);

// Get a specific company by CVR
const company = await client.getCompany("12345678");
console.log(company.name);

Next Steps

Two API Styles

The Betalink API client offers two styles of usage:

Promise-based (Simple)

For straightforward usage with async/await:

import { createBetalinkClient } from "@betalink/api-client";

const client = createBetalinkClient({
  baseUrl: "https://betalink.dev/api",
  apiKey: "your-api-key",
});

try {
  const companies = await client.listCompanies();
} catch (error) {
  if (error instanceof UnauthorizedError) {
    console.error("Invalid API key");
  }
}

Effect-based (Advanced)

For applications using Effect for dependency injection and type-safe error handling:

import { BetalinkApiClient, makeConfigLayer } from "@betalink/api-client/effect";
import * as Effect from "effect/Effect";

const program = Effect.gen(function* () {
  const client = yield* BetalinkApiClient;
  return yield* client.listCompanies();
});

const configLayer = makeConfigLayer({
  baseUrl: "https://betalink.dev/api",
  apiKey: "your-api-key",
});

Learn more about the Effect integration in the Effect Guide.

On this page