Skip to main content

Installation

npm install @clinikapi/sdk

Requirements

  • Node.js 18+ (or any runtime with fetch support)
  • TypeScript 5+ (recommended, but not required)

Quick Setup

import { Clinik } from '@clinikapi/sdk';

const clinik = new Clinik(process.env.CLINIKAPI_SECRET_KEY!);
The SDK is server-side only. It authenticates with your secret API key — never import it in client-side code. For frontend UI, use @clinikapi/react with the proxy pattern.

Configuration Options

const clinik = new Clinik(process.env.CLINIKAPI_SECRET_KEY!, {
  baseUrl: 'https://api.clinikapi.com', // default
  timeout: 30000,                        // request timeout in ms (default: 30s)
  retries: 2,                            // auto-retry on 5xx/429 (default: 2)
});
OptionTypeDefaultDescription
baseUrlstringhttps://api.clinikapi.comAPI base URL
timeoutnumber30000Request timeout in milliseconds
retriesnumber2Max retry attempts on 5xx / 429

Framework Examples

Next.js (Server Action)

'use server';
import { Clinik } from '@clinikapi/sdk';

const clinik = new Clinik(process.env.CLINIKAPI_SECRET_KEY!);

export async function getPatient(id: string) {
  const { data } = await clinik.patients.read(id);
  return data;
}

Express.js

import express from 'express';
import { Clinik } from '@clinikapi/sdk';

const app = express();
const clinik = new Clinik(process.env.CLINIKAPI_SECRET_KEY!);

app.get('/api/patients/:id', async (req, res) => {
  const { data, meta } = await clinik.patients.read(req.params.id);
  res.json({ patient: data, requestId: meta.requestId });
});

Hono

import { Hono } from 'hono';
import { Clinik } from '@clinikapi/sdk';

const app = new Hono();
const clinik = new Clinik(process.env.CLINIKAPI_SECRET_KEY!);

app.get('/patients/:id', async (c) => {
  const { data } = await clinik.patients.read(c.req.param('id'));
  return c.json(data);
});