@shim-finance/typescript-sdk 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @shim-finance/typescript-sdk
2
2
 
3
- TypeScript SDK for the Shim.Finance REST API.
3
+ TypeScript SDK for the [Shim.Finance](https://shim.finance) REST API.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,56 +8,105 @@ TypeScript SDK for the Shim.Finance REST API.
8
8
  npm install @shim-finance/typescript-sdk
9
9
  ```
10
10
 
11
- ## Usage
11
+ ## Quick Start
12
12
 
13
13
  ```typescript
14
- import { client, institutionsList } from '@shim-finance/typescript-sdk';
14
+ import { client, institutionsList, accountsList, transactionsList } from '@shim-finance/typescript-sdk';
15
15
 
16
- // Configure the client
16
+ // Configure the client with your API key
17
17
  client.setConfig({
18
18
  baseUrl: 'https://api.shim.finance',
19
19
  headers: {
20
- Authorization: 'Bearer YOUR_API_KEY',
20
+ Authorization: 'Bearer sk_live_YOUR_API_KEY',
21
21
  },
22
22
  });
23
23
 
24
- // List institutions
25
- const { data, error } = await institutionsList();
24
+ // List connected institutions
25
+ const institutions = await institutionsList();
26
26
 
27
- if (error) {
28
- console.error('Error:', error.message);
29
- } else {
30
- console.log('Institutions:', data);
31
- }
27
+ // List all accounts
28
+ const accounts = await accountsList();
29
+
30
+ // List transactions with filtering
31
+ const transactions = await transactionsList({
32
+ query: {
33
+ startDate: '2026-01-01',
34
+ endDate: '2026-01-31',
35
+ limit: '50',
36
+ },
37
+ });
32
38
  ```
33
39
 
34
40
  ## Custom Client
35
41
 
42
+ Use `createClient` if you need multiple clients or custom configuration:
43
+
36
44
  ```typescript
37
- import { createClient, createConfig, institutionsList } from '@shim-finance/typescript-sdk';
45
+ import { createClient, createConfig, transactionsSync } from '@shim-finance/typescript-sdk';
38
46
 
39
47
  const myClient = createClient(
40
48
  createConfig({
41
49
  baseUrl: 'https://api.shim.finance',
42
50
  headers: {
43
- Authorization: 'Bearer YOUR_API_KEY',
51
+ Authorization: 'Bearer sk_live_YOUR_API_KEY',
44
52
  },
45
53
  })
46
54
  );
47
55
 
48
- const { data } = await institutionsList({ client: myClient });
56
+ const { data } = await transactionsSync({ client: myClient });
57
+ ```
58
+
59
+ ## Error Handling
60
+
61
+ All SDK functions return `{ data, error }`. Check `error` before using `data`:
62
+
63
+ ```typescript
64
+ const { data, error } = await transactionsList();
65
+
66
+ if (error) {
67
+ console.error('API error:', error);
68
+ } else {
69
+ console.log(\`Found \${data.total} transactions\`);
70
+ }
49
71
  ```
50
72
 
51
73
  ## API Reference
52
74
 
53
75
  ### `institutionsList()`
54
76
 
55
- Returns all connected financial institutions for the authenticated user.
77
+ Returns all connected financial institutions (banks) for the authenticated user.
78
+
79
+ ### `accountsList()`
80
+
81
+ Returns all bank accounts across all connected institutions.
82
+
83
+ ### `transactionsList(options?)`
84
+
85
+ Returns transactions with optional filtering and pagination.
86
+
87
+ | Parameter | Type | Description |
88
+ |-----------|------|-------------|
89
+ | `query.accountId` | `string` | Filter by account ID |
90
+ | `query.startDate` | `string` | Inclusive start date (YYYY-MM-DD) |
91
+ | `query.endDate` | `string` | Inclusive end date (YYYY-MM-DD) |
92
+ | `query.limit` | `string` | Max results per page (default 100, max 500) |
93
+ | `query.offset` | `string` | Number of results to skip |
94
+
95
+ ### `transactionsSync(options?)`
96
+
97
+ Incrementally sync transaction changes. Omit `cursor` for initial sync, then pass the returned `cursor` to subsequent calls.
98
+
99
+ | Parameter | Type | Description |
100
+ |-----------|------|-------------|
101
+ | `query.cursor` | `string` | Sync cursor from a previous response |
102
+
103
+ Returns `{ added, modified, removed, cursor, hasMore }`.
104
+
105
+ ## Authentication
106
+
107
+ All endpoints require an API key. Create one in your [Shim.Finance dashboard](https://app.shim.finance) under Settings > API Keys.
56
108
 
57
- **Response:**
58
- - `200`: `Institution[]` - Array of institutions
59
- - `401`: `Unauthorized` - Missing or invalid authorization
60
- - `500`: `InternalError` - Server error
109
+ API keys use the format `sk_live_<token>`. Include it as a Bearer token in the Authorization header.
61
110
 
62
111
  ## License
63
112
 
@@ -1 +1 @@
1
- {"version":3,"file":"client.gen.d.ts","sourceRoot":"","sources":["../../src/client/client.gen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAA0C,MAAM,aAAa,CAAC;AAgB1F,eAAO,MAAM,YAAY,GAAI,SAAQ,MAAW,KAAG,MA0QlD,CAAC"}
1
+ {"version":3,"file":"client.gen.d.ts","sourceRoot":"","sources":["../../src/client/client.gen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAA0C,MAAM,aAAa,CAAC;AAgB1F,eAAO,MAAM,YAAY,GAAI,SAAQ,MAAW,KAAG,MA4QlD,CAAC"}
@@ -204,8 +204,9 @@ export const createClient = (config = {}) => {
204
204
  url,
205
205
  });
206
206
  };
207
+ const _buildUrl = (options) => buildUrl({ ..._config, ...options });
207
208
  return {
208
- buildUrl,
209
+ buildUrl: _buildUrl,
209
210
  connect: makeMethodFn('CONNECT'),
210
211
  delete: makeMethodFn('DELETE'),
211
212
  get: makeMethodFn('GET'),
@@ -47,7 +47,7 @@ export interface Config<T extends ClientOptions = ClientOptions> extends Omit<Re
47
47
  export interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
48
48
  responseStyle: TResponseStyle;
49
49
  throwOnError: ThrowOnError;
50
- }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
50
+ }>, Pick<ServerSentEventsOptions<TData>, 'onRequest' | 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
51
51
  /**
52
52
  * Any body that you want to add to your request.
53
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../src/client/types.gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../src/client/types.gen.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ArrayStyle, ObjectStyle, SerializerOptions } from './pathSerializer.gen';
2
2
  export type QuerySerializer = (query: Record<string, unknown>) => string;
3
- export type BodySerializer = (body: any) => any;
3
+ export type BodySerializer = (body: unknown) => unknown;
4
4
  type QuerySerializerOptionsObject = {
5
5
  allowReserved?: boolean;
6
6
  array?: Partial<SerializerOptions<ArrayStyle>>;
@@ -14,13 +14,13 @@ export type QuerySerializerOptions = QuerySerializerOptionsObject & {
14
14
  parameters?: Record<string, QuerySerializerOptionsObject>;
15
15
  };
16
16
  export declare const formDataBodySerializer: {
17
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => FormData;
17
+ bodySerializer: (body: unknown) => FormData;
18
18
  };
19
19
  export declare const jsonBodySerializer: {
20
- bodySerializer: <T>(body: T) => string;
20
+ bodySerializer: (body: unknown) => string;
21
21
  };
22
22
  export declare const urlSearchParamsBodySerializer: {
23
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => string;
23
+ bodySerializer: (body: unknown) => string;
24
24
  };
25
25
  export {};
26
26
  //# sourceMappingURL=bodySerializer.gen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bodySerializer.gen.d.ts","sourceRoot":"","sources":["../../src/core/bodySerializer.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAEzE,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;AAEhD,KAAK,4BAA4B,GAAG;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG;IAClE;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;CAC3D,CAAC;AAoBF,eAAO,MAAM,sBAAsB;qBAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QACnE,CAAC,KACN,QAAQ;CAgBZ,CAAC;AAEF,eAAO,MAAM,kBAAkB;qBACZ,CAAC,QAAQ,CAAC,KAAG,MAAM;CAErC,CAAC;AAEF,eAAO,MAAM,6BAA6B;qBACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAG,MAAM;CAgB9F,CAAC"}
1
+ {"version":3,"file":"bodySerializer.gen.d.ts","sourceRoot":"","sources":["../../src/core/bodySerializer.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAEzE,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;AAExD,KAAK,4BAA4B,GAAG;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG;IAClE;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;CAC3D,CAAC;AAoBF,eAAO,MAAM,sBAAsB;2BACV,OAAO,KAAG,QAAQ;CAgB1C,CAAC;AAEF,eAAO,MAAM,kBAAkB;2BACN,OAAO,KAAG,MAAM;CAExC,CAAC;AAEF,eAAO,MAAM,6BAA6B;2BACjB,OAAO,KAAG,MAAM;CAgBxC,CAAC"}
@@ -32,7 +32,7 @@ const buildKeyMap = (fields, map) => {
32
32
  };
33
33
  const stripEmptySlots = (params) => {
34
34
  for (const [slot, value] of Object.entries(params)) {
35
- if (value && typeof value === 'object' && !Object.keys(value).length) {
35
+ if (value && typeof value === 'object' && !Array.isArray(value) && !Object.keys(value).length) {
36
36
  delete params[slot];
37
37
  }
38
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shim-finance/typescript-sdk",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "TypeScript SDK for the Shim.Finance REST API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",