{"_id":"@codeforge-main/dixa-sdk","_rev":"7-767e5eeb4e7fadb5a5c8a4ddcd8e6c83","name":"@codeforge-main/dixa-sdk","dist-tags":{"latest":"2.3.1"},"versions":{"1.0.0":{"name":"@codeforge-main/dixa-sdk","version":"1.0.0","author":{"name":"codeforge"},"_id":"@codeforge-main/dixa-sdk@1.0.0","maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"dist":{"shasum":"13b7471e7d3573e088383957f51761af4d3454c1","tarball":"https://registry.npmjs.org/@codeforge-main/dixa-sdk/-/dixa-sdk-1.0.0.tgz","fileCount":3498,"integrity":"sha512-SfEII+eQ/saCOlts/15NrN8Bl+V4eRJn14JrprAeNupxGlJxpaMhLZeImlg3RooziBqRurqlbU1xcNAPF3SThw==","signatures":[{"sig":"MEQCIH6We2QicxLROSw9NH1a3jeWWbwNKgvIbIkkEDJVs91AAiA+mEAsxXRnvzZSzAT6CnSC4r+WMk5IdLnFZURnu4H37A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3359877},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"build":"tsc"},"_npmUser":{"name":"codeforge-main","email":"codeforge.info@gmail.com"},"_npmVersion":"10.9.8","description":"> **Unofficial SDK** — generated from @codeforge-main/dixa-sdk's public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by @codeforge-main/dixa-sdk.","directories":{},"_nodeVersion":"22.23.2","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/dixa-sdk_1.0.0_1788289455054_0.04213422919603338","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@codeforge-main/dixa-sdk","version":"2.0.0","author":{"name":"codeforge"},"_id":"@codeforge-main/dixa-sdk@2.0.0","maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"dist":{"shasum":"7811bbc43165741bbdb8f301118bcfea004a1d58","tarball":"https://registry.npmjs.org/@codeforge-main/dixa-sdk/-/dixa-sdk-2.0.0.tgz","fileCount":3498,"integrity":"sha512-0uDKqj6j6xCyhedER5gFTsceahPqWg88avEpwPZNUISHASekDogJoyeFzOWX0vrJVowLe0P5xfFoi90zk9lNyg==","signatures":[{"sig":"MEUCIQDGPxbtcGtiBjq+mEAMtxPp/S6v8HdspdQq3WppU4l4mgIgcaWFI/qp5okSOGCFiSZizFKPKmXNEl5x08rw5Num4U4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3359871},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"build":"tsc"},"_npmUser":{"name":"codeforge-main","email":"codeforge.info@gmail.com"},"_npmVersion":"10.9.8","description":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.","directories":{},"_nodeVersion":"22.23.2","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/dixa-sdk_2.0.0_1788289512226_0.7061583063923642","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@codeforge-main/dixa-sdk","version":"2.1.0","author":{"name":"codeforge"},"_id":"@codeforge-main/dixa-sdk@2.1.0","maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"dist":{"shasum":"e76205cce3561d4fbfd1cd9cd372661be4f78326","tarball":"https://registry.npmjs.org/@codeforge-main/dixa-sdk/-/dixa-sdk-2.1.0.tgz","fileCount":3498,"integrity":"sha512-Iiuj0ZdrZT0Vvbbfg+aG9C89PaU/mQN/jMJ6Tc87jXc4Vy5ao0yLQopJHPZjNljsSfy6U2mCt44bosYrqA089g==","signatures":[{"sig":"MEYCIQDKBstlkRP8DS2XyKZTOv77HxN12y4CwOJvS+6WJuXJIAIhAMhfnyHOgXFAZEsDsigLn1QsXp6dZVMPnaVXQKTXA2qK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICK0eJxTZtwIQR+dhDvbjcEJi7QDQK7qLcmOAx7StU1yAiAfgToBD2FJ30j8gt3SrDygBYhV9dyE15HkqRa1exlMHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3385046},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"build":"tsc"},"_npmUser":{"name":"codeforge-main","email":"codeforge.info@gmail.com"},"_npmVersion":"10.9.8","description":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.","directories":{},"_nodeVersion":"22.23.2","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/dixa-sdk_2.1.0_1788739620398_0.5953902856636917","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@codeforge-main/dixa-sdk","version":"2.1.1","author":{"name":"codeforge"},"_id":"@codeforge-main/dixa-sdk@2.1.1","maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"dist":{"shasum":"7a9a1b13b3496bf9da0abbedada996214547980c","tarball":"https://registry.npmjs.org/@codeforge-main/dixa-sdk/-/dixa-sdk-2.1.1.tgz","fileCount":3498,"integrity":"sha512-v8BEJ1ZlaALNPgo5pCqWH2ldG1LZyZ6/yy8LET2YsaRseRnhcf+9MH6qOhxr9rUPl7eMVLxR42LMYxH8siQxcg==","signatures":[{"sig":"MEUCIGvvn9qCy01Wd+uRxC/AOhwlc8SoQI22gSqWKxMyMv+XAiEAySgcasZ9gibYTxoEXkXd9VuHow8XrvzNjlgOl8pP6DE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCZEDwy2Lj9J4U5U9KmPR+1u0bYV8hwToAnHpOQArRJcgIgFOIHoDvl3C5nScMILKDkLoSBJnh30vf8BFHgH8j5W0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3387249},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"build":"tsc"},"_npmUser":{"name":"codeforge-main","email":"codeforge.info@gmail.com"},"_npmVersion":"10.9.8","description":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.","directories":{},"_nodeVersion":"22.23.2","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/dixa-sdk_2.1.1_1788796983087_0.8812126995140828","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@codeforge-main/dixa-sdk","version":"2.2.0","author":{"name":"codeforge"},"_id":"@codeforge-main/dixa-sdk@2.2.0","maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"dist":{"shasum":"dcc3588f49f8fa7099f975a46744609b8846b95b","tarball":"https://registry.npmjs.org/@codeforge-main/dixa-sdk/-/dixa-sdk-2.2.0.tgz","fileCount":3498,"integrity":"sha512-nf8944Xqw/PNTIyIdS14ysHcSdc/Xi9CHSbOh5xfy5gu4qbBDFfRtV7Ks9hhwA3xkqYxSMPGfIlAZTs0URnkaw==","signatures":[{"sig":"MEYCIQCnPemAQqga0KtMpAx0aCcBE5mdv2xEDMMbX3zPhQ9agQIhAN+IgUjU/zu0ESpV1mRAOgMx6eZGk4uwS9JrmSb9swpi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDSA2ItZ3tIjlx1Eu+cgLou0WFXqqSilVa3TlSxiydlKQIhAMSfqdIie6TpmB45/JdYs7j9kkCZWu4xYjCqtwe4gWbw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3387249},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"build":"tsc"},"_npmUser":{"name":"codeforge-main","email":"codeforge.info@gmail.com"},"_npmVersion":"10.9.8","description":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.","directories":{},"_nodeVersion":"22.23.2","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/dixa-sdk_2.2.0_1788825940836_0.2534050890242854","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@codeforge-main/dixa-sdk","version":"2.3.0","author":{"name":"codeforge"},"_id":"@codeforge-main/dixa-sdk@2.3.0","maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"dist":{"shasum":"cfa9e4a7f1ae2456c50569b871b02dae579e8c7d","tarball":"https://registry.npmjs.org/@codeforge-main/dixa-sdk/-/dixa-sdk-2.3.0.tgz","fileCount":3498,"integrity":"sha512-x0xDTsA/w2RUvsECfnTgXErC8c40F0dKLh9MgocZ6uTcBfNUGI4QcHdsPR3H+m7l9UluAtlPw9rmlFunVmPLhg==","signatures":[{"sig":"MEUCIEe+9FByjvoXC/tHIFLKZ4+EQw2ZPAjh7aIma4kGgCP7AiEAuQIKkLUKNj45Wp2p1r6IpLOMWE7U1Ih3lw1cpTP/x7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAVegChriYbbgBIfT1ZBTS0tx8c6kt5uU6g3OpxNHpLvAiEAqwVnydWxrbPo98E7N0H7GoOgKd46e4qc39QuXA/5mJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3387249},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"build":"tsc"},"_npmUser":{"name":"codeforge-main","email":"codeforge.info@gmail.com"},"_npmVersion":"10.9.8","description":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.","directories":{},"_nodeVersion":"22.23.2","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/dixa-sdk_2.3.0_1788912235218_0.9181766870990618","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"_id":"@codeforge-main/dixa-sdk@2.3.1","dist":{"shasum":"4f1fae68a9535138d33149b3b8f0b10cb501f57b","tarball":"https://registry.npmjs.org/@codeforge-main/dixa-sdk/-/dixa-sdk-2.3.1.tgz","fileCount":3498,"integrity":"sha512-aV0QkE7palp99mYdRiiQkaRRmrOMx4OQsxGeZRtkGittDpFarCZpP6fWi4nfsVMKGRSu4EW+ECiS8KaoXozyVg==","signatures":[{"sig":"MEUCIQDUlYyF6eP+STHkh96lvawGOEuczA87dk12p5sWtZAaMQIgedaoB4R+iDC5QcOjZ03jdAsIgyJ80cbIw+Vdgl1960A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCGjMYDeXracI2zr88bLLvYl+4S6UABTD4xfC4PkwCd2gIgf1bBUtgVBs5XYKHTm8X5uEO3AjHO/Xx7dtsE3tznKfk="}],"unpackedSize":3388219},"main":"./dist/index.js","name":"@codeforge-main/dixa-sdk","types":"./dist/index.d.ts","author":{"name":"codeforge"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"build":"tsc"},"version":"2.3.1","_npmUser":{"name":"codeforge-main","email":"codeforge.info@gmail.com"},"_npmVersion":"10.9.8","description":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.","directories":{},"maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dixa-sdk_2.3.1_1788970274901_0.4761064415411629"}}},"time":{"created":"2026-09-01T19:04:14.882Z","modified":"2026-09-09T16:11:15.257Z","1.0.0":"2026-09-01T19:04:15.236Z","2.0.0":"2026-09-01T19:05:12.406Z","2.1.0":"2026-09-07T00:07:00.509Z","2.1.1":"2026-09-07T16:03:03.182Z","2.2.0":"2026-09-08T00:05:40.982Z","2.3.0":"2026-09-09T00:03:55.315Z","2.3.1":"2026-09-09T16:11:15.007Z"},"author":{"name":"codeforge"},"description":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.","maintainers":[{"name":"codeforge-main","email":"codeforge.info@gmail.com"}],"readme":"> **Unofficial SDK** — generated from https://docs.dixa.io/openapi/dixa-api/v1 public OpenAPI specification by the [CodeForge platform](https://www.code-forge.net). Not affiliated with or endorsed by Dixa.\n\n---\n\n# @codeforge-main/dixa-sdk\n\nVersion 2.3.1\n\nFull generator behavior documentation: https://www.code-forge.net/docs\n\nRequires Node 20+ (or a modern browser) — the generated transport uses `AbortSignal.any`\nand `AbortSignal.timeout`.\n\n## Install\n\n```bash\nnpm install @codeforge-main/dixa-sdk\n```\n\n```bash\nyarn add @codeforge-main/dixa-sdk\n```\n\n```bash\npnpm add @codeforge-main/dixa-sdk\n```\n\n## Usage\n\nThis SDK is exposed as a single, fully typed client class. Construct it once with your\nshared configuration and call any API operation as a method — each returns the deserialized\nresponse alongside HTTP metadata.\n\n```ts\nimport { DixaClient } from '@codeforge-main/dixa-sdk'\n\nconst client = new DixaClient({\n\tbaseUrl: 'https://dev.dixa.io',\n\tauth: { type: 'apiKey', key: 'YOUR_API_KEY' },\n})\n\nconst response = await client.getAgentsPresence()\n\nconsole.log(response.status) // HTTP status code\nconsole.log(response.data)   // typed as GetAgentsPresenceResponse\n```\n\nThe client holds the shared configuration (`baseUrl`, `auth`, `retry`, `hooks`).\nEach method accepts a per-call context extending `HttpClientContext` — supply the\noperation-specific `payload` / `parameters`, and override any shared field per call.\n\n### Available operations\n\n- `getAnalyticsMetrics`\n- `postAnalyticsMetrics`\n- `getAnalyticsMetricsMetricid`\n- `getAnalyticsFilterFilterattribute`\n- `getAnalyticsRecords`\n- `postAnalyticsRecords`\n- `getAnalyticsRecordsRecordid`\n- `getAgentsPresence`\n- `getAgents`\n- `postAgents`\n- `putAgents`\n- `patchAgents`\n- `getAgentsAgentidTeams`\n- `getAgentsAgentidPresence`\n- `postAgentsBulk`\n- `getAgentsAgentid`\n- `putAgentsAgentid`\n- `patchAgentsAgentid`\n- `deleteAgentsAgentid`\n- `putAgentsAgentidPresenceWorkingChannel`\n- `getEndusers`\n- `postEndusers`\n- `putEndusers`\n- `patchEndusers`\n- `postEndusersBulk`\n- `getEndusersUserid`\n- `putEndusersUserid`\n- `patchEndusersUserid`\n- `patchEndusersUseridAnonymize`\n- `patchEndusersUseridCustomAttributes`\n- `getEndusersUseridConversations`\n- `getTeams`\n- `postTeams`\n- `getTeamsTeamidAgents`\n- `patchTeamsTeamidAgents`\n- `deleteTeamsTeamidAgents`\n- `getTeamsTeamidPresence`\n- `getTeamsTeamid`\n- `deleteTeamsTeamid`\n- `patchConversationsConversationidAnonymize`\n- `patchConversationsConversationidMessagesMessageidAnonymize`\n- `putConversationsConversationidClose`\n- `putConversationsConversationidFollowup`\n- `putConversationsConversationidReopen`\n- `putConversationsConversationidTransferQueue`\n- `postConversationsConversationidNotesBulk`\n- `getConversationsConversationidNotes`\n- `postConversationsConversationidNotes`\n- `postConversationsConversationidRatingsRatingidSubmit`\n- `postConversationsConversationidRatingsOffer`\n- `getConversationsConversationidRating`\n- `getConversationsConversationidRatings`\n- `getConversationsActivitylog`\n- `getConversationsFlows`\n- `putConversationsConversationidTagsTagid`\n- `deleteConversationsConversationidTagsTagid`\n- `postConversationsConversationidTagsBulk`\n- `getConversationsConversationidTags`\n- `getConversationsConversationidMessages`\n- `postConversationsConversationidMessages`\n- `postConversations`\n- `postConversationsImport`\n- `patchConversationsConversationidCustomAttributes`\n- `putConversationsConversationidClaim`\n- `getConversationsConversationidActivitylog`\n- `getConversationsConversationid`\n- `putConversationsConversationidLink`\n- `getConversationsConversationidLinked`\n- `getQueues`\n- `postQueues`\n- `getQueuesQueueidMembers`\n- `patchQueuesQueueidMembers`\n- `deleteQueuesQueueidMembers`\n- `getQueuesQueueidAvailability`\n- `getQueuesQueueid`\n- `getQueuesConversationPositionCsid`\n- `getTags`\n- `postTags`\n- `getTagsTagid`\n- `deleteTagsTagid`\n- `patchTagsTagidDeactivate`\n- `patchTagsTagidActivate`\n- `getAnonymizationRequestRequestid`\n- `postAnonymization`\n- `getContactEndpointsContactendpointid`\n- `getContactEndpoints`\n- `getCustomAttributesCustomattributeid`\n- `getCustomAttributes`\n- `getSearchConversations`\n- `postSearchConversations`\n- `getWebhooksWebhooksubscriptionid`\n- `patchWebhooksWebhooksubscriptionid`\n- `deleteWebhooksWebhooksubscriptionid`\n- `getWebhooks`\n- `postWebhooks`\n- `getWebhooksWebhooksubscriptionidDeliveryStatus`\n- `getWebhooksWebhooksubscriptionidDeliveryStatusLogsEvent`\n- `getTemplates`\n- `deleteTemplatesTemplateid`\n- `getBusinessHoursSchedules`\n- `getBusinessHoursSchedulesScheduleidDefinition`\n- `getBusinessHoursSchedulesScheduleidUpcoming`\n- `getBusinessHoursSchedulesScheduleidStatus`\n- `getKnowledgeCollectionsCollectionid`\n- `getKnowledgeCollectionsCollectionidCatalog`\n- `getKnowledgeCategoriesCategoryid`\n- `getKnowledgeCategoriesCategoryidTranslations`\n- `getKnowledgeArticlesArticleid`\n- `patchKnowledgeArticlesArticleid`\n- `deleteKnowledgeArticlesArticleid`\n- `getKnowledgeArticlesArticleidTranslations`\n- `patchKnowledgeArticlesArticleidTranslations`\n- `postKnowledgeArticles`\n- `postKnowledgeArticlesArticleidTranslationsLanguageidPublish`\n- `postKnowledgeArticlesArticleidTranslationsLanguageidUnpublish`\n- `deleteKnowledgeArticlesArticleidTranslationsLanguageid`\n- `postKnowledgeArticlesArticleidPublish`\n- `postKnowledgeArticlesArticleidUnpublish`\n- `patchKnowledgeArticlesArticleidParentParentid`\n- `deleteKnowledgeArticlesArticleidParent`\n- `getKnowledgeCollections`\n- `postKnowledgeArticlesAttachments`\n- `getOrganization`\n\n## Transport\n\nEvery request goes through the same transport: a per-attempt timeout, cancellation via\n`AbortSignal`, and an optional custom `fetch`.\n\n```ts\nconst client = new DixaClient({\n\ttimeoutMs: 10_000, // default 60000ms, applied fresh to each retry attempt\n})\n\nconst controller = new AbortController()\nsetTimeout(() => controller.abort(), 5_000)\n\nawait client.getAgentsPresence({ signal: controller.signal })\n```\n\n`timeoutMs` is per attempt, not per call — a request that times out and then retries gets a\nfresh timer on each attempt, and throws `TimeoutError` if every attempt times out. A\ncaller-triggered `AbortSignal` is never retried; a timeout is, under the same rule as a\nnetwork error. Streaming operations ignore `timeoutMs` and support only caller\ncancellation.\n\n### Custom fetch\n\nPass a `fetch` implementation to route every request through it — a proxy included, via\n[undici](https://github.com/nodejs/undici)'s `ProxyAgent`:\n\n```ts\nimport { ProxyAgent, fetch as undiciFetch } from 'undici'\n\nconst dispatcher = new ProxyAgent('http://localhost:8080')\nconst client = new DixaClient({\n\tfetch: (url, init) => undiciFetch(url, { ...init, dispatcher }),\n})\n```\n\n`hooks.makeRequest` wins when both are set — it replaces the whole transport, and `fetch`\nis read only by the built-in one.\n\n### Raw requests\n\nAn endpoint the generated operations don’t model is still reachable, through the same\nauth, retries, timeout and hooks:\n\n```ts\nconst { data, response } = await client.get('/v1/status')\nawait client.post('/v1/events', { body: { type: 'ping' } })\n\n// the general form, for a method the verb helpers don’t cover:\nawait client.request({ method: 'OPTIONS', path: '/v1/status' })\n```\n\n`path` is joined onto `baseUrl` with the `URL` constructor — a leading `/` resolves from\nthe origin (dropping any path segment `baseUrl` itself carries); a relative segment\nappends after it. A plain-object `body` is JSON-serialized with a JSON `Content-Type`;\npass an already-encoded value (a `string`, `FormData`, ...) to send anything else.\n`data` parses by the response’s own `Content-Type`: JSON via `.json()`, a textual type\nvia `.text()`, anything else as a `Blob`.\n\n## Uploads\n\nA multipart operation's binary part accepts a `File` directly. The `toFile` helper builds\none from bytes, a `Blob`, or a Node stream — `fs.createReadStream(...)` included, since every\nNode stream is async-iterable. The source is read fully into memory before the request goes\nout, so this is not a fit for uploads too large to hold in memory at once.\n\n```ts\nimport { toFile } from '@codeforge-main/dixa-sdk'\nimport fs from 'node:fs'\n\nconst file = await toFile(fs.createReadStream('./report.pdf'), 'report.pdf', {\n\tcontentType: 'application/pdf',\n})\n\n// pass `file` as the operation's multipart field, e.g. `{ payload: { file } }`\n```\n\nA `Blob`, a `Uint8Array` (a Node `Buffer` included), or a `File` you already have works the\nsame way, without `toFile`.\n\n## Errors\n\nA non-OK response throws one of these `HttpError` subclasses, picked by an exact status\nmatch first, then any `>= 500` response as `InternalServerError`, then plain `HttpError`\nfor anything else. Every one of them is also an `instanceof HttpError`, so a catch-all\nkeeps working alongside a narrower check.\n\n| Class | Status |\n| --- | --- |\n| `BadRequestError` | 400 |\n| `AuthenticationError` | 401 |\n| `PermissionDeniedError` | 403 |\n| `NotFoundError` | 404 |\n| `ConflictError` | 409 |\n| `UnprocessableEntityError` | 422 |\n| `RateLimitError` | 429 |\n| `InternalServerError` | any `>= 500` |\n\n```ts\nimport { HttpError, NotFoundError } from '@codeforge-main/dixa-sdk'\n\ntry {\n\tawait client.getAgentsPresence()\n} catch (error) {\n\tif (error instanceof NotFoundError) {\n\t\t// error.status is narrowed to 404\n\t} else if (error instanceof HttpError) {\n\t\t// any other non-OK response — error.status is number\n\t}\n\tthrow error\n}\n```\n\n## Validation\n\nEvery model is plain data — the shape it has on the wire. This SDK carries no schemas and\nno runtime dependency, so nothing is validated for you: `response.data` is the parsed body\ntyped as the operation declares it.\n\nRegenerate the SDK with validation schemas turned on to get a zod schema exported beside\nevery model type.\n\n> Generated by CodeForge v0.86.9.\n","readmeFilename":"README.md"}