{"id":23624734,"url":"https://github.com/hcl-tech-software/domino-rest-sdk-node","last_synced_at":"2025-08-31T00:31:27.832Z","repository":{"id":209872389,"uuid":"699790518","full_name":"HCL-TECH-SOFTWARE/domino-rest-sdk-node","owner":"HCL-TECH-SOFTWARE","description":"NodeJS SDK to interact with the HCL Domino REST API","archived":false,"fork":false,"pushed_at":"2024-12-16T17:07:51.000Z","size":1850,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-12-24T13:22:49.902Z","etag":null,"topics":["domino","rest-api","volt-mx","volt-mx-go"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@hcl-software/domino-rest-sdk-node","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HCL-TECH-SOFTWARE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-03T10:52:04.000Z","updated_at":"2024-08-07T11:18:28.000Z","dependencies_parsed_at":"2023-11-29T15:54:18.699Z","dependency_job_id":"2f58cd37-d446-4cd8-98a1-a2367972fabb","html_url":"https://github.com/HCL-TECH-SOFTWARE/domino-rest-sdk-node","commit_stats":null,"previous_names":["hcl-tech-software/domino-rest-sdk-node"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-rest-sdk-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-rest-sdk-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-rest-sdk-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-rest-sdk-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HCL-TECH-SOFTWARE","download_url":"https://codeload.github.com/HCL-TECH-SOFTWARE/domino-rest-sdk-node/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231539820,"owners_count":18392343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["domino","rest-api","volt-mx","volt-mx-go"],"created_at":"2024-12-27T21:16:18.515Z","updated_at":"2025-08-31T00:31:27.815Z","avatar_url":"https://github.com/HCL-TECH-SOFTWARE.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Domino REST API Node.js SDK\n\nDomino REST API Node.js SDK is a library that can help Node.js developers to build applications that uses Domino REST API. Domino REST API Node.js SDK also supports TypeScript.\n\n(C) 2025 HCL America Inc. Apache-2.0 license [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)\n\n[![npm](https://nodei.co/npm/@hcl-software/domino-rest-sdk-node.png)](https://www.npmjs.com/package/@hcl-software/domino-rest-sdk-node)\n\n\u003e **Note:** As of v0.2.1, Domino REST API Node.js SDK is ESM-only.\n\n## 📔 Documentation\n\n- [Domino REST API documentation](https://opensource.hcltechsw.com/Domino-rest-api/index.html)\n- [Using Domino REST API Node.js SDK examples](https://github.com/HCL-TECH-SOFTWARE/domino-rest-sdk-node/tree/main/samples)\n- [Github repository](https://github.com/HCL-TECH-SOFTWARE/domino-rest-sdk-node)\n- [TypeDoc API documentation](https://opensource.hcltechsw.com/domino-rest-sdk-node/)\n\n## ⬇️ Installation\n\nFirst, have a running Domino REST API server, and next, install [Node.js](https://nodejs.org/en). Make sure the version is `\u003e18.0.0` as Domino REST API Node.js uses the native `fetch` method available on that version. Then run:\n\n```sh\nnpm install @hcl-software/domino-rest-sdk-node\n```\n\n## ⭐ Highlights\n\n- Supports both JavaScript and TypeScript.\n- Has built-in methods for the following Domino REST API calls:\n  - **Basis**:\n    - `/document`\n    - `/document/{unid}`\n    - `/bulk/create`\n    - `/bulk/{unid}`\n    - `/bulk/update`\n    - `/bulk/delete`\n    - `/query`\n    - `/richtext/{richTextAs}/{unid}`\n    - `/lists`\n    - `/lists/{name}`\n    - `/listspivot/{name}`\n    - `/scope`\n  - **Setup**:\n    - `/design/{designType}/{designName}`\n    - `/admin/scope`\n    - `/admin/scopes`\n\n## 📦 Importing\n\nYou can import the whole SDK via:\n\n```javascript\nimport * as drapiSdk from '@hcl-software/domino-rest-sdk-node';\n```\n\nOr, you can import only the modules that you need, like:\n\n```javascript\nimport { DominoAccess } from '@hcl-software/domino-rest-sdk-node';\n```\n\n## 🔬 Overview\n\n![Domino REST API Node SDK Model](/docs/sdk-model.png)\n\nDomino REST API Node SDK has four moving parts:\n\n- `DominoAccess`\n- `DominoServer`\n- `DominoConnector`\n- Sessions\n  - `DominoUserSession`\n  - `DominoBasisSession`\n  - `DominoSetupSession`\n\n### ℹ️ DominoAccess\n\n`DominoAccess` is a class that facilitates your access to the Domino REST API server. It takes in a `baseUrl`, which is your Idp provider, as well as your credentials, such as your `username`, `password`, `scope` and `type` (the authentication type: `basic` or `oauth`).\n\n### ℹ️ DominoServer\n\n`DominoServer` is a class that gets information on what APIs are available on your current server. It takes in a url to your Domino REST API server as a parameter. This class produces a `DominoConnector` class base on your chosen API.\n\n### ℹ️ DominoConnector\n\n`DominoConnector` is the class that does the actual communication between the Domino REST API Node SDK and your Domino REST API server.\n\n### ℹ️ Sessions\n\nSessions are classes that contains all the operations you can perform on your Domino REST API server. There are three classes under this, namely:\n\n- `DominoUserSession`\n- `DominoBasisSession`\n- `DominoSetupSession`\n\n`DominoUserSession` has generic request methods, which allows you to perform an operation from scratch.\n\n`DominoBasisSession` contains all built-in methods for BASIS API operations.\n\n`DominoSetupSession` contains all built-in methods for SETUP API operations.\n\n### 🎮 Running a Domino REST API operation using the SDK\n\nHere is an example of how to use the four moving parts mentioned above in order to execute one Domino REST API Node SDK.\n\n```javascript\nimport drapiSdk from '@hcl-software/domino-rest-sdk-node';\n\nconst start = async () =\u003e {\n  const credentials = {\n    baseUrl: 'http://localhost:8880',\n    credentials: {\n      scope: '$DATA',\n      type: 'basic',\n      username: 'username',\n      password: 'password',\n    },\n  };\n  // Create DominoAccess\n  const dominoAccess = new drapiSdk.DominoAccess(credentials);\n  // Create DominoServer\n  const dominoServer = await drapiSdk.DominoServer.getServer('http://localhost:8880');\n  // Since in this example we will be performing a BASIS API operation (createDocument),\n  // we will use the DominoBasisSession class in order to use the built-in createDocument method.\n  const dominoBasisSession = await drapiSdk.DominoBasisSession.getBasisSession(dominoAccess, dominoServer);\n\n  // Create a Domino document\n  await dominoBasisSession.createDocument(...)\n    .then((document) =\u003e console.log(JSON.stringify(document.toJson(), null, 2)))\n    .catch((error) =\u003e console.log(error));\n}\n\nstart();\n```\n\nFor other examples, please go to our [examples](/samples/Tutorials%20on%20Domino%20Operations/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcl-tech-software%2Fdomino-rest-sdk-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhcl-tech-software%2Fdomino-rest-sdk-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcl-tech-software%2Fdomino-rest-sdk-node/lists"}