@notionhq/client 5.9.0 → 5.11.0
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 +49 -8
- package/build/package.json +9 -9
- package/build/src/Client.d.ts +101 -6
- package/build/src/Client.d.ts.map +1 -1
- package/build/src/Client.js +318 -71
- package/build/src/Client.js.map +1 -1
- package/build/src/api-endpoints.d.ts +117 -26
- package/build/src/api-endpoints.d.ts.map +1 -1
- package/build/src/api-endpoints.js +32 -11
- package/build/src/api-endpoints.js.map +1 -1
- package/build/src/errors.js.map +1 -1
- package/build/src/helpers.d.ts +4 -4
- package/build/src/helpers.d.ts.map +1 -1
- package/build/src/helpers.js.map +1 -1
- package/build/src/index.d.ts +2 -1
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +2 -1
- package/build/src/index.js.map +1 -1
- package/build/src/logging.d.ts +1 -3
- package/build/src/logging.d.ts.map +1 -1
- package/build/src/logging.js.map +1 -1
- package/build/src/utils.d.ts +12 -0
- package/build/src/utils.d.ts.map +1 -1
- package/build/src/utils.js +17 -0
- package/build/src/utils.js.map +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -132,14 +132,55 @@ You may also set a custom `logger` to emit logs to a destination other than `std
|
|
|
132
132
|
|
|
133
133
|
The `Client` supports the following options on initialization. These options are all keys in the single constructor parameter.
|
|
134
134
|
|
|
135
|
-
| Option | Default value | Type
|
|
136
|
-
| ----------- | -------------------------- |
|
|
137
|
-
| `auth` | `undefined` | `string`
|
|
138
|
-
| `logLevel` | `LogLevel.WARN` | `LogLevel`
|
|
139
|
-
| `timeoutMs` | `60_000` | `number`
|
|
140
|
-
| `baseUrl` | `"https://api.notion.com"` | `string`
|
|
141
|
-
| `logger` | Log to console | `Logger`
|
|
142
|
-
| `agent` | Default node agent | `http.Agent`
|
|
135
|
+
| Option | Default value | Type | Description |
|
|
136
|
+
| ----------- | -------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
137
|
+
| `auth` | `undefined` | `string` | Bearer token for authentication. If left undefined, the `auth` parameter should be set on each request. |
|
|
138
|
+
| `logLevel` | `LogLevel.WARN` | `LogLevel` | Verbosity of logs the instance will produce. By default, logs are written to `stdout`. |
|
|
139
|
+
| `timeoutMs` | `60_000` | `number` | Number of milliseconds to wait before emitting a `RequestTimeoutError` |
|
|
140
|
+
| `baseUrl` | `"https://api.notion.com"` | `string` | The root URL for sending API requests. This can be changed to test with a mock server. |
|
|
141
|
+
| `logger` | Log to console | `Logger` | A custom logging function. This function is only called when the client emits a log that is equal or greater severity than `logLevel`. |
|
|
142
|
+
| `agent` | Default node agent | `http.Agent` | Used to control creation of TCP sockets. A common use is to proxy requests with [`https-proxy-agent`](https://github.com/TooTallNate/node-https-proxy-agent) |
|
|
143
|
+
| `retry` | `{ maxRetries: 2 }` | `RetryOptions` | Configuration for automatic retries on rate limits (429) and server errors (500, 503). See [Automatic retries](#automatic-retries) below. |
|
|
144
|
+
|
|
145
|
+
### Automatic retries
|
|
146
|
+
|
|
147
|
+
The client automatically retries requests that fail due to rate limiting or transient server errors. By default, it will retry up to 2 times using exponential back-off with jitter.
|
|
148
|
+
|
|
149
|
+
**Retryable errors:**
|
|
150
|
+
|
|
151
|
+
- `rate_limited` (HTTP 429) - Too many requests; retried for all HTTP methods
|
|
152
|
+
- `internal_server_error` (HTTP 500) - Server error; retried only for GET and DELETE
|
|
153
|
+
- `service_unavailable` (HTTP 503) - Service temporarily unavailable; retried only for GET and DELETE
|
|
154
|
+
|
|
155
|
+
Server errors (500, 503) are only retried for idempotent HTTP methods (GET, DELETE) to avoid duplicate side effects. Rate limits (429) are retried for all methods since the server explicitly asks clients to retry.
|
|
156
|
+
|
|
157
|
+
**Retry behavior:**
|
|
158
|
+
|
|
159
|
+
- Uses exponential back-off: delays increase with each retry attempt
|
|
160
|
+
- Respects the `Retry-After` header when present (both delta-seconds and HTTP-date formats)
|
|
161
|
+
- Adds random jitter to prevent thundering herd problems
|
|
162
|
+
|
|
163
|
+
**Configuration:**
|
|
164
|
+
|
|
165
|
+
```js
|
|
166
|
+
const notion = new Client({
|
|
167
|
+
auth: process.env.NOTION_TOKEN,
|
|
168
|
+
retry: {
|
|
169
|
+
maxRetries: 5, // Maximum retry attempts (default: 2)
|
|
170
|
+
initialRetryDelayMs: 500, // Initial delay between retries (default: 1000ms)
|
|
171
|
+
maxRetryDelayMs: 60000, // Maximum delay between retries (default: 60000ms)
|
|
172
|
+
},
|
|
173
|
+
})
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
To disable automatic retries:
|
|
177
|
+
|
|
178
|
+
```js
|
|
179
|
+
const notion = new Client({
|
|
180
|
+
auth: process.env.NOTION_TOKEN,
|
|
181
|
+
retry: false,
|
|
182
|
+
})
|
|
183
|
+
```
|
|
143
184
|
|
|
144
185
|
### TypeScript
|
|
145
186
|
|
package/build/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@notionhq/client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.11.0",
|
|
4
4
|
"description": "A simple and easy to use client for the Notion API",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18"
|
|
@@ -44,17 +44,17 @@
|
|
|
44
44
|
"build/src/**"
|
|
45
45
|
],
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@types/jest": "
|
|
48
|
-
"@typescript-eslint/eslint-plugin": "
|
|
49
|
-
"@typescript-eslint/parser": "
|
|
50
|
-
"cspell": "
|
|
51
|
-
"eslint": "
|
|
47
|
+
"@types/jest": "29.5.14",
|
|
48
|
+
"@typescript-eslint/eslint-plugin": "7.18.0",
|
|
49
|
+
"@typescript-eslint/parser": "7.18.0",
|
|
50
|
+
"cspell": "8.17.1",
|
|
51
|
+
"eslint": "8.57.1",
|
|
52
52
|
"husky": "^9.1.7",
|
|
53
|
-
"jest": "
|
|
53
|
+
"jest": "29.7.0",
|
|
54
54
|
"lint-staged": "^16.2.6",
|
|
55
55
|
"markdown-link-check": "3.13.7",
|
|
56
|
-
"prettier": "
|
|
57
|
-
"ts-jest": "
|
|
56
|
+
"prettier": "3.3.3",
|
|
57
|
+
"ts-jest": "29.2.5",
|
|
58
58
|
"typescript": "5.9.2"
|
|
59
59
|
}
|
|
60
60
|
}
|
package/build/src/Client.d.ts
CHANGED
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
import type { Agent } from "node:http";
|
|
2
2
|
import { type Logger, LogLevel } from "./logging";
|
|
3
|
-
import { type GetBlockParameters, type GetBlockResponse, type UpdateBlockParameters, type UpdateBlockResponse, type DeleteBlockParameters, type DeleteBlockResponse, type AppendBlockChildrenParameters, type AppendBlockChildrenResponse, type ListBlockChildrenParameters, type ListBlockChildrenResponse, type QueryDataSourceParameters, type QueryDataSourceResponse, type CreateDataSourceParameters, type CreateDataSourceResponse, type UpdateDataSourceParameters, type UpdateDataSourceResponse, type GetDataSourceParameters, type GetDataSourceResponse, type CreatePageParameters, type CreatePageResponse, type GetPageParameters, type GetPageResponse, type UpdatePageParameters, type UpdatePageResponse, type MovePageParameters, type MovePageResponse, type GetUserParameters, type GetUserResponse, type ListUsersParameters, type ListUsersResponse, type SearchParameters, type SearchResponse, type GetSelfParameters, type GetSelfResponse, type GetPagePropertyParameters, type GetPagePropertyResponse, type CreateCommentParameters, type CreateCommentResponse, type ListCommentsParameters, type ListCommentsResponse, type GetCommentParameters, type GetCommentResponse, type OauthTokenResponse, type OauthTokenParameters, type OauthIntrospectResponse, type OauthIntrospectParameters, type OauthRevokeResponse, type OauthRevokeParameters, type CreateFileUploadParameters, type CreateFileUploadResponse, type GetFileUploadResponse, type GetFileUploadParameters, type SendFileUploadParameters, type SendFileUploadResponse, type CompleteFileUploadParameters, type CompleteFileUploadResponse, type ListFileUploadsParameters, type ListFileUploadsResponse, GetDatabaseParameters, GetDatabaseResponse, CreateDatabaseResponse, CreateDatabaseParameters, UpdateDatabaseParameters, UpdateDatabaseResponse, ListDataSourceTemplatesResponse, ListDataSourceTemplatesParameters } from "./api-endpoints";
|
|
3
|
+
import { type GetBlockParameters, type GetBlockResponse, type UpdateBlockParameters, type UpdateBlockResponse, type DeleteBlockParameters, type DeleteBlockResponse, type AppendBlockChildrenParameters, type AppendBlockChildrenResponse, type ListBlockChildrenParameters, type ListBlockChildrenResponse, type QueryDataSourceParameters, type QueryDataSourceResponse, type CreateDataSourceParameters, type CreateDataSourceResponse, type UpdateDataSourceParameters, type UpdateDataSourceResponse, type GetDataSourceParameters, type GetDataSourceResponse, type CreatePageParameters, type CreatePageResponse, type GetPageParameters, type GetPageResponse, type UpdatePageParameters, type UpdatePageResponse, type MovePageParameters, type MovePageResponse, type GetPageMarkdownParameters, type GetPageMarkdownResponse, type UpdatePageMarkdownParameters, type UpdatePageMarkdownResponse, type GetUserParameters, type GetUserResponse, type ListUsersParameters, type ListUsersResponse, type SearchParameters, type SearchResponse, type GetSelfParameters, type GetSelfResponse, type GetPagePropertyParameters, type GetPagePropertyResponse, type CreateCommentParameters, type CreateCommentResponse, type ListCommentsParameters, type ListCommentsResponse, type GetCommentParameters, type GetCommentResponse, type OauthTokenResponse, type OauthTokenParameters, type OauthIntrospectResponse, type OauthIntrospectParameters, type OauthRevokeResponse, type OauthRevokeParameters, type CreateFileUploadParameters, type CreateFileUploadResponse, type GetFileUploadResponse, type GetFileUploadParameters, type SendFileUploadParameters, type SendFileUploadResponse, type CompleteFileUploadParameters, type CompleteFileUploadResponse, type ListFileUploadsParameters, type ListFileUploadsResponse, GetDatabaseParameters, GetDatabaseResponse, CreateDatabaseResponse, CreateDatabaseParameters, UpdateDatabaseParameters, UpdateDatabaseResponse, ListDataSourceTemplatesResponse, ListDataSourceTemplatesParameters } from "./api-endpoints";
|
|
4
4
|
import type { SupportedFetch } from "./fetch-types";
|
|
5
|
-
export
|
|
5
|
+
export type RetryOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Maximum number of retry attempts. Set to 0 to disable retries.
|
|
8
|
+
* @default 2
|
|
9
|
+
*/
|
|
10
|
+
maxRetries?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Initial delay between retries in milliseconds.
|
|
13
|
+
* Used as base for exponential back-off when retry-after header is absent.
|
|
14
|
+
* @default 1000
|
|
15
|
+
*/
|
|
16
|
+
initialRetryDelayMs?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Maximum delay between retries in milliseconds.
|
|
19
|
+
* @default 60000
|
|
20
|
+
*/
|
|
21
|
+
maxRetryDelayMs?: number;
|
|
22
|
+
};
|
|
23
|
+
export type ClientOptions = {
|
|
6
24
|
auth?: string;
|
|
7
25
|
timeoutMs?: number;
|
|
8
26
|
baseUrl?: string;
|
|
@@ -12,12 +30,17 @@ export interface ClientOptions {
|
|
|
12
30
|
fetch?: SupportedFetch;
|
|
13
31
|
/** Silently ignored in the browser */
|
|
14
32
|
agent?: Agent;
|
|
15
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Configuration for automatic retries on rate limit (429) and server errors.
|
|
35
|
+
* Set to false to disable retries entirely.
|
|
36
|
+
*/
|
|
37
|
+
retry?: RetryOptions | false;
|
|
38
|
+
};
|
|
16
39
|
type FileParam = {
|
|
17
40
|
filename?: string;
|
|
18
41
|
data: string | Blob;
|
|
19
42
|
};
|
|
20
|
-
export
|
|
43
|
+
export type RequestParameters = {
|
|
21
44
|
path: string;
|
|
22
45
|
method: Method;
|
|
23
46
|
query?: QueryParams;
|
|
@@ -33,7 +56,7 @@ export interface RequestParameters {
|
|
|
33
56
|
client_id: string;
|
|
34
57
|
client_secret: string;
|
|
35
58
|
};
|
|
36
|
-
}
|
|
59
|
+
};
|
|
37
60
|
export default class Client {
|
|
38
61
|
#private;
|
|
39
62
|
static readonly defaultNotionVersion = "2025-09-03";
|
|
@@ -42,6 +65,63 @@ export default class Client {
|
|
|
42
65
|
* Sends a request.
|
|
43
66
|
*/
|
|
44
67
|
request<ResponseBody extends object>(args: RequestParameters): Promise<ResponseBody>;
|
|
68
|
+
/**
|
|
69
|
+
* Builds the full URL with query parameters.
|
|
70
|
+
*/
|
|
71
|
+
private buildRequestUrl;
|
|
72
|
+
/**
|
|
73
|
+
* Serializes the request body to JSON string if non-empty.
|
|
74
|
+
*/
|
|
75
|
+
private serializeBody;
|
|
76
|
+
/**
|
|
77
|
+
* Builds the request headers including auth and content-type.
|
|
78
|
+
*/
|
|
79
|
+
private buildRequestHeaders;
|
|
80
|
+
/**
|
|
81
|
+
* Builds the authorization header based on auth type.
|
|
82
|
+
*/
|
|
83
|
+
private buildAuthHeader;
|
|
84
|
+
/**
|
|
85
|
+
* Builds FormData from form parameters if provided.
|
|
86
|
+
* Also removes content-type header to let fetch set the boundary.
|
|
87
|
+
*/
|
|
88
|
+
private buildFormData;
|
|
89
|
+
/**
|
|
90
|
+
* Executes the request with retry logic.
|
|
91
|
+
*/
|
|
92
|
+
private executeWithRetry;
|
|
93
|
+
/**
|
|
94
|
+
* Executes a single HTTP request (no retry).
|
|
95
|
+
*/
|
|
96
|
+
private executeSingleRequest;
|
|
97
|
+
/**
|
|
98
|
+
* Logs a request error with appropriate detail level.
|
|
99
|
+
*/
|
|
100
|
+
private logRequestError;
|
|
101
|
+
/**
|
|
102
|
+
* Extracts request_id from an object if present.
|
|
103
|
+
*/
|
|
104
|
+
private extractRequestId;
|
|
105
|
+
/**
|
|
106
|
+
* Determines if an error can be retried based on its error code and method.
|
|
107
|
+
* Rate limits (429) are always retryable since the server explicitly asks us
|
|
108
|
+
* to retry. Server errors (500, 503) are only retried for idempotent methods
|
|
109
|
+
* (GET, DELETE) to avoid duplicate side effects.
|
|
110
|
+
*/
|
|
111
|
+
private canRetry;
|
|
112
|
+
/**
|
|
113
|
+
* Calculates the delay before the next retry attempt.
|
|
114
|
+
* Uses retry-after header if present, otherwise exponential back-off with
|
|
115
|
+
* jitter.
|
|
116
|
+
*/
|
|
117
|
+
private calculateRetryDelay;
|
|
118
|
+
/**
|
|
119
|
+
* Parses the retry-after header value.
|
|
120
|
+
* Supports both delta-seconds (e.g., "120") and HTTP-date formats.
|
|
121
|
+
* Returns the delay in milliseconds, or undefined if not present or invalid.
|
|
122
|
+
*/
|
|
123
|
+
private parseRetryAfterHeader;
|
|
124
|
+
private sleep;
|
|
45
125
|
readonly blocks: {
|
|
46
126
|
/**
|
|
47
127
|
* Retrieve block
|
|
@@ -119,6 +199,14 @@ export default class Client {
|
|
|
119
199
|
* Move a page
|
|
120
200
|
*/
|
|
121
201
|
move: (args: WithAuth<MovePageParameters>) => Promise<MovePageResponse>;
|
|
202
|
+
/**
|
|
203
|
+
* Retrieve a page as markdown
|
|
204
|
+
*/
|
|
205
|
+
retrieveMarkdown: (args: WithAuth<GetPageMarkdownParameters>) => Promise<GetPageMarkdownResponse>;
|
|
206
|
+
/**
|
|
207
|
+
* Update a page's content as markdown
|
|
208
|
+
*/
|
|
209
|
+
updateMarkdown: (args: WithAuth<UpdatePageMarkdownParameters>) => Promise<UpdatePageMarkdownResponse>;
|
|
122
210
|
properties: {
|
|
123
211
|
/**
|
|
124
212
|
* Retrieve page property
|
|
@@ -214,6 +302,13 @@ export default class Client {
|
|
|
214
302
|
client_secret: string;
|
|
215
303
|
}) => Promise<OauthRevokeResponse>;
|
|
216
304
|
};
|
|
305
|
+
/**
|
|
306
|
+
* Logs a warning when the caller passes parameters that are not recognized
|
|
307
|
+
* by the endpoint definition. This helps catch typos and renamed parameters
|
|
308
|
+
* (e.g. `archived` vs `in_trash` for `databases.update`) that would
|
|
309
|
+
* otherwise be silently dropped by `pick()`.
|
|
310
|
+
*/
|
|
311
|
+
private warnUnknownParams;
|
|
217
312
|
/**
|
|
218
313
|
* Emits a log message to the console.
|
|
219
314
|
*
|
|
@@ -233,7 +328,7 @@ export default class Client {
|
|
|
233
328
|
private authAsHeaders;
|
|
234
329
|
}
|
|
235
330
|
type Method = "get" | "post" | "patch" | "delete";
|
|
236
|
-
type QueryParams = Record<string, string | number | string[]> | URLSearchParams;
|
|
331
|
+
type QueryParams = Record<string, string | number | boolean | string[]> | URLSearchParams;
|
|
237
332
|
type WithAuth<P> = P & {
|
|
238
333
|
auth?: string;
|
|
239
334
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EACL,KAAK,MAAM,EACX,QAAQ,EAGT,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
|