{"_id":"@basementuniverse/jsonpad-sdk","_rev":"28-904e359efc9260fdf82d0565ddd49cbc","name":"@basementuniverse/jsonpad-sdk","dist-tags":{"latest":"1.14.0"},"versions":{"1.0.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.0.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.0.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk/issues"},"dist":{"shasum":"9b774f8d72d0041497b9be8599ca141d69b03bbf","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.0.0.tgz","fileCount":36,"integrity":"sha512-Dx3GSPYn34lrGFiVjn0nAcw5zA49qIAAqeqGXCo9u+4b8Cg0L2rVc7sRITfm+v+UTrki1IJxqpkN0kshSzz4Kg==","signatures":[{"sig":"MEQCIC/r0GkYNP5ZixlhgD5zu+fYz5HYPD5OsXbZmr4WfWvDAiAqtoWCLBcvX358QwFHgBKJpz2tRZ/Y47Dn1/Ox9LKJlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50491},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"c55cc4076e441646a24e540eebd84d834a45228d","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.0.0_1731856373374_0.11268568881330032","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@basementuniverse/jsonpad-sdk","version":"1.0.1","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.0.1","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk/issues"},"dist":{"shasum":"18e90dea4e9646982df6ed9b24d1d0d9573ce567","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.0.1.tgz","fileCount":166,"integrity":"sha512-e0OaaMGBQuR9ZPFPf+oMg+BQzcnpzQS0sTBE/3+129zOCpufKgvckrKlidk0X95xnDuVXvIL3iX7m3GwlKwxvw==","signatures":[{"sig":"MEQCIBsRG9SUQYifkzOWNzVRQ3UStt0xk0KhdzW3XsW7Igi2AiAh+E3CHgArhLw3PHnAz6ab/5237wiSEG6Z4VZzNtFQcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22494844},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"bfd84df85bd570f186f4cb7896d864566db79918","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.0.1_1731877482715_0.2688499090344154","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.1.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.1.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk/issues"},"dist":{"shasum":"3b113ede08b9e8501ca2e8c3087662eececfb416","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.1.0.tgz","fileCount":166,"integrity":"sha512-2I+S9qNG+PEKIKlo9i/OP2CsgdrPOk2rFoRwNfySNd4Xdl7hF3dpH4HdTHi5a5lsDUGly0sf75mFWvn8zrIzRQ==","signatures":[{"sig":"MEUCIF0MCb78fmyRMjAlp5rDlbYjCQYPnUzPnDHwLiq0Vtu0AiEAjtdhsrnNewCdGP9M7VP6X5AFpEHMPWzdaUAhjHssm4c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22495272},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"cb8652812759bde85e63af90b835760ef7e22286","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.1.0_1732133868684_0.8528362299783003","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.2.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.2.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"fe8ecf4c2507a135b70c3be419d9cc83de6449b0","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.2.0.tgz","fileCount":36,"integrity":"sha512-BbvvVZF23Z3kbMtPRam2tbtvVc5VEWWFO5wKloZFoWGmMXzb4PoJw0WhNRd2XJko7Y2FsP6I+2thOCYh5h/E8w==","signatures":[{"sig":"MEUCIHrcy402Ic12cbRe9UUPa0TS4ix9odhn5Hu7c0MoM1qxAiEAiYmW5BGV0/b/rsdctXqQ5rpm67VUMIdTS8/Pxj/9r4U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51260},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"ced6adf65614d824c9c553a527f3b91533e15c4c","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"9.6.7","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.2.0_1732134215219_0.4397777138440595","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.3.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.3.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"48a8a594fcd63737e063d18a3202544daa425e1a","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.3.0.tgz","fileCount":40,"integrity":"sha512-Tv2CWvM/3phkkpT56YorHgbWF171LStf26ZKKtDSo8OLLsexVgelU0g2ogFrx/npjUxN5RqFXFhsFARojg/tMA==","signatures":[{"sig":"MEQCIBszkZiVLwcwdXMu4/zWoTn9NAally36AzPHNEePaADxAiBDVFf8aSmyfat96/fXeun32H5FIe67TdeE0g93zBX7CQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69843},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"a2238c6ecc0438aee3a69ee278568e25a7a57b50","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"9.6.7","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.3.0_1733676231700_0.36743628077076074","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@basementuniverse/jsonpad-sdk","version":"1.3.1","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.3.1","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"77a136455ae4097c40fb49e0619aa37b6d85dabd","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.3.1.tgz","fileCount":40,"integrity":"sha512-IM5uf73IIWfgaHJi6TJHG07kFp/BE0wMsLIWVnY95KqqYoeLeUzxPnBIFDhviKsG3j8BLvUXNoJDNkbE91k3Sg==","signatures":[{"sig":"MEUCIDQxO292TTI9WiCmXjdowZIhF9tsVe9JvpdOEtWaTz8VAiEA86VQ3SrC/snPcep2OzYYSN/lvy3zU/BBbwgc2k9C43g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72756},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"d102da0da6c2945dee1a4e6750b3fd82e4db2cdb","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"9.6.7","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.3.1_1733695798464_0.640338917034847","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@basementuniverse/jsonpad-sdk","version":"1.3.2","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.3.2","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"f40b2f2149a34d08eee95221587e9fffa18c8c02","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.3.2.tgz","fileCount":41,"integrity":"sha512-+SOIrCtfdJBWxzbB5HUwmsN22Fz69LWAOVIulNYxVDS1U4Xu1ObSkDQWuCrqH0t5/sU2OFnKzMY6OoICWaFFdA==","signatures":[{"sig":"MEQCIBIxy/RMclcYQVceyAh88TyQJyJZ0HQ1KzKQDNX0jPnOAiBuStHx7njfb3ZMdYqnFwICMW3v/c2D607vfOwlC2zMoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75019},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"616600db679451703fd1712d80d8a1f59f5f04a2","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"9.6.7","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.3.2_1733700608363_0.7012104667899586","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@basementuniverse/jsonpad-sdk","version":"1.3.5","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.3.5","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"b6b46801c375e71d4a4368ef5a1656a397fb1c73","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.3.5.tgz","fileCount":41,"integrity":"sha512-+aaRakypnGaaml5vS97vJNoXrgsUkXjApsFQ9dkrqwHMarfFNFmEY/5/S5FAj5/vkYVyBLFticjjipHHePVMqg==","signatures":[{"sig":"MEUCIQDnNQl+JEG0bDW+1qwFANoIjdKBVQYCfcHa7kQvqgid0gIgC9CLv9tODgVO/HiaKTFuY+4KLeo9D6Q2+KKQWfN7eKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75241},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"361dc9e01869b582a6039f67a6dd19becf369a2d","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.3.5_1733750635938_0.41879608627178855","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.4.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.4.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"187aa2cf293a91a3809187d85c2b20de9803200a","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.4.0.tgz","fileCount":42,"integrity":"sha512-LvkxZmmoyQiCZmMYsScsXp/QDsTWbiDO3SjAYnMQxjFnC75qvFM/PSv/i9LKprkydYYSYmrcUtjM6DPOU60oTw==","signatures":[{"sig":"MEQCIFOnJ6q4MSuAj6YeNAoEFMlXI11EM4nqE+5McPzmUlBFAiBKTA3/tBoFeS+Son2pQIzhhQNTwd/bMsrBufpC0fVBJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77358},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"c09b0998355a3f46a626cba01c307e0f09b13918","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.4.0_1733950823687_0.979017340573227","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.5.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.5.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"06e60d5870b9212aad72c9912f8dd59eaf16c613","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.5.0.tgz","fileCount":42,"integrity":"sha512-uOWjiekdwqsCoviavpDmq/jmhmD0SAJtr5rqSN2XvaRZJ2hD8l4BEW0B0HoB3N/UYvAue7kpLSuSRdxK6seaeQ==","signatures":[{"sig":"MEYCIQDAWl319JNBlU6Gr1hUiGIQSFumdDyTa4ay19uGDMgLXgIhAJBw1VS+Kg6uJ9I8KmdZOw8I0WpRXgqDSptdPolTjiyB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77402},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"1e7332c4e8811e1eb144b5f3a1410189542d9942","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.5.0_1734218233384_0.016551369261268656","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.6.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.6.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"dbf47698a81398eae743f5f0d1e5785c50ca47ca","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.6.0.tgz","fileCount":42,"integrity":"sha512-ku4R7S3BxzWybsHZaR2tdf7MvKUW4yysWSk/+yXFOV2Z9XDA3AGD0nIqvuLseaSMqShjIrxTi1YH3MevwVEkKQ==","signatures":[{"sig":"MEYCIQCv44m0xa5uRemRww/tzSMj7Y3f2k3sf+YWaq2OkPC6qAIhAKaT1dmkeoQCp0rQZ1isM1iARbfllqD6EXnJwBKiX+13","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77906},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"5f451229873eeb710cbc0d2dd95d3cebf6c97e43","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.6.0_1734297095606_0.6100347880055286","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@basementuniverse/jsonpad-sdk","version":"1.6.1","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.6.1","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"938cf4e5b6e2b07d8665a4abf13c555d74a3961e","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.6.1.tgz","fileCount":42,"integrity":"sha512-eofFpvZ9UhoCuHpYpqsO0PTqhEcVPknKzPovQNVylB4klmuZaiXv2rpaPHZR7lYbFOI2WvwY6gSjupBuhmKKsQ==","signatures":[{"sig":"MEYCIQDlOsGg8vMTHK/OIfulyY8GrEniCb3gaFXpy5/0TuwhwgIhAMFb/Vx4uc/nEoZ+rdWFTqJ6J5GXAoyiiQut59renDlM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112785},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"c25564eaea22b93332cbd7b7d2261d7b6415b7a4","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.6.1_1734380225028_0.7953662279880822","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@basementuniverse/jsonpad-sdk","version":"1.6.2","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.6.2","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"7c62ca86bfe5bea57bbe38c641bb8664f3c1fe9a","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.6.2.tgz","fileCount":42,"integrity":"sha512-6KEFrgGzaMKECoLw3WiBwiBOcXItgiDNqxoV37MIQzZ/t7wPbh41ZCvzGwfFOycrEknlgUbkxVzyYOdxCE4X6Q==","signatures":[{"sig":"MEUCIQCtn5h1gikom9hknwijOF8IDs3B3ZrFK06Dmd9w1jc5bQIgI0JxLjBBOiUKUnzwqff/wHp1x7dHcfEnRzK8jOxcEaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112794},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"c5e6f340852d3e350d9e9058c68335dad0c375e3","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.6.2_1734472700999_0.05291647486113038","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"@basementuniverse/jsonpad-sdk","version":"1.6.3","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.6.3","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"76078cde7fe4f593bd5e2896219e90ac64f46ba8","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.6.3.tgz","fileCount":42,"integrity":"sha512-UYArQnj/fAaTzyVVeVHckSTQ7m4MEHy+BWBaqdIuXfteazqeM2TsFUSoJT1LF8LviyNXmYLfsHOSSQed6bPZaw==","signatures":[{"sig":"MEYCIQCO0MO/OYF8Ub51RT3H7JPeMqRbFb/Ko0xyZQ4KfX7r8gIhAOf7jZdWu33/LYnJteZ8JFFWkceFprJy+FgETyNJ/qKw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113183},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"473abcf8bf7a0f0156391013dec2ebed1e779948","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.6.3_1738789201108_0.34613831928232597","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"@basementuniverse/jsonpad-sdk","version":"1.6.4","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.6.4","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"da839352bb1073283ffc44ce33b57ef49d86f3d6","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.6.4.tgz","fileCount":42,"integrity":"sha512-plD4QoCQ1mZEY3rWNtSf/CBGzTkEGYWG127PPbD/yzmoCBtY65xb766Eai5JpANYhSlASc367OtzJKLMMR8sjA==","signatures":[{"sig":"MEUCIQDjmyyjcPY/CZbtxLKCzMo3eGB8uzfwIYiNePqdZIuc3wIgCOpMB8pfkwrKu4tysWev+6dNWJXgu7g68XNeM2Le3VI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113179},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"637b70e131c8003e8327deb74884520e7e14c0d1","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.6.4_1738883240909_0.5168285944130602","host":"s3://npm-registry-packages-npm-production"}},"1.6.5":{"name":"@basementuniverse/jsonpad-sdk","version":"1.6.5","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.6.5","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"ec336196a87210bad850dbd813361dad669b525b","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.6.5.tgz","fileCount":42,"integrity":"sha512-sMviOQDdeOZv7CPHMVSBf0r7rJW4ff2eR3OlXkd7Ok+hwbZLOu5TcxzFr6YQd+VB2Z/YPxjePivYmCljir/rSg==","signatures":[{"sig":"MEUCIGjAAKtCUxult0VWBIqivYzVflyg8g53paI5THLI01WjAiEA7XnSXBQ7x7SlEQsChh9EM7oRuPNF7dnnlPK5EPUkrKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113257},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"a34228dd4608b0c04f2782da2e686d665a891277","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.6.5_1739023175116_0.09916217987533682","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.7.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.7.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"e7ca9f83b9411b8af9090619192bf23f02d80440","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.7.0.tgz","fileCount":53,"integrity":"sha512-pAtOB+xJzyEYxv64Eo7UG7lMCZAwh9ABLb0jeqO3aQYfxQM1Hhnk0UfqxUFhYrbjoHDNMIlQ/jeQuZ85u24LeQ==","signatures":[{"sig":"MEUCIHOoKMiRKp4RneUmgVmRtiy2U+vGoN3kOpeyPrRh9YAFAiEAoXgiAzODVNnAecJSPKQt20Beyl9v/9wdWc8QBa7Mf5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145805},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"bc015f2fe8a6a655be246b2732a09bb5d3c904ae","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"11.6.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.7.0_1789143536039_0.7884607097256011","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.8.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.8.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"4c0d0988b3fe7161364091f61233ba510e462612","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.8.0.tgz","fileCount":53,"integrity":"sha512-05Fr8woQMlASggb4M5+GInBJEXK4siBx2dggcRE2W7OV3ib2m8+e5YKO/J1brcqdL2dJh9l3O5Scy4adzQUu1w==","signatures":[{"sig":"MEYCIQC0dBcDtbw+LwfUZls8UGvbvOpvsQBozlvb12VJORgR+AIhAKWPsXRQpmgl1eC47dUXpzNq6dntNrkppcyp8CjXmKie","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149442},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"a9fb594866e14f450c8fcba8a77803bde7b9dad1","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"11.6.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.8.0_1789172252943_0.7141281590052584","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.9.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.9.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"9e357492cbef9eca60d074ce750953b5388fb46c","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.9.0.tgz","fileCount":53,"integrity":"sha512-E5cgnpkSSy5D+TgLbWwM/1ExOikP04be0QH6ldS5psrwjlk14UM7cA7ECewXle6bLkeEm3Tmxx0WA9yTNprBCg==","signatures":[{"sig":"MEUCIQCVyYuCDMBjiURwaiRd4tl4pwVnjbJIbGRc1dkM9Es81gIgSGRRVqXXj8HDHnrqA4SjpTVqJ86Vtf3EZqEHqyK+2GA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159634},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"387c0d62f0b8e06ff3bfee136b46a4866bb50f15","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"11.6.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.9.0_1789251284041_0.04004776424616319","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.10.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.10.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"d677001facd52fc36a943e0e6bf7d1f0a19cf5bd","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.10.0.tgz","fileCount":53,"integrity":"sha512-Qxo8+Mo1oL4EWoTGs4CjhVgCh2raE3K+wptrvLX9m9apsBWdrblpLxG2aGF3RAmvsr6oQspSeWzkg9klZrlgYg==","signatures":[{"sig":"MEUCIQCDIw4Jp4e26V5qY6crYT8sxYGKgxbVsdhChC803fRXLQIgIAK0JFNNSMYEC8sVlMsroye+6W8jBz1szh8L6iRDuvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166844},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"5ae4ab27a575fcf6bfccb2455d88bd2adfec72f3","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"11.6.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.10.0_1789311551521_0.9044212395726015","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.11.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.11.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"dist":{"shasum":"b2bc523690ba729ec44c1b5e2a54623fb494bc81","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.11.0.tgz","fileCount":55,"integrity":"sha512-3O0Da6l3m/Mg1Prz5JnJX8T0fdZ0KXBSk7hCCqZniLjp+EXWhH2ephdLyxvZtuazARTuRkUbSbGSRaOnVtNE5w==","signatures":[{"sig":"MEQCIDR+pPBewaGIuw3WsrKs9mZ+TkzHWOiYOoMD2/FUIW6NAiBYUFrteUwvHi2m5Mn5m0uteRADp+MQ+UnsP/Yg+chapA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175674},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"534e876a5df4448e4aa2b745a109e03c3ff01987","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"11.6.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.11.0_1789336213529_0.061327291645820514","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.12.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.12.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"bin":{"jsonpad":"bin/jsonpad.js"},"dist":{"shasum":"0ba03b49e84663ea62b31377e4dbc7d9ee6967cc","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.12.0.tgz","fileCount":58,"integrity":"sha512-hOIZdHpxAY9m+olTCYxyVWZ/qIs5tMoz6RNac95ATdPzngNJWk2THkwjpSG6H15i3FadMm9rju7KJK8xLZNm9A==","signatures":[{"sig":"MEUCIEutrwHh4EqZqlT0SSPJhnU0E89XyGys8znN21jKBaBmAiEAsbP1AnWm+F7K8H/tVxIlIjCS3VE0N4NDnithNghw4x4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217660},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"5938b924de0522df62c82c8ad7e984e1d5dfdc3a","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"11.6.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.12.0_1789422797330_0.9911579659558065","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.13.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/jsonpad-sdk@1.13.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"bin":{"jsonpad":"bin/jsonpad.js"},"dist":{"shasum":"1ef5a3b90ad7317349ce40c705f4e76208b3c767","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.13.0.tgz","fileCount":58,"integrity":"sha512-RIq0mCxAR5qzzxdTI4Z04g08x/GLjJxjpVj6INAfId2x11ieJvBZb8pZtg6bvw45g5F8+LUmuMD5P5i3rfAymw==","signatures":[{"sig":"MEYCIQDi8BGrlkWc9yc/4efzELXUsIISqHHDgd/xntSPAny/aAIhAN5ynaiZVd9fq/FQ7DhIUi/4k/SlPUqOVRM4wkuInHnm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235513},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","gitHead":"c41a37b6f0a535812722b04d160e2b7a6f41413a","scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git","type":"git"},"_npmVersion":"11.6.2","description":"JSONPad SDK for Node and browser","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"-":"^0.0.1","tslib":"^2.8.1","rollup":"^4.24.3","save-dev":"^0.0.1-security","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonpad-sdk_1.13.0_1789514407838_0.0019259340753716714","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@basementuniverse/jsonpad-sdk","version":"1.14.0","description":"JSONPad SDK for Node and browser","author":{"name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com","url":"https://gordonlarrigan.com"},"license":"MIT","homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","repository":{"type":"git","url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git"},"bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"main":"build/jsonpad-sdk.js","types":"build/jsonpad-sdk.d.ts","bin":{"jsonpad":"bin/jsonpad.js"},"scripts":{"build":"rollup -c && npm run clean","clean":"rm -rf build/types build/utilities build/models build/errors build/events build/index.d.ts build/jsonpad.d.ts build/constants.d.ts"},"devDependencies":{"-":"^0.0.1","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.1","rollup":"^4.24.3","rollup-plugin-dts":"^6.1.1","save-dev":"^0.0.1-security","tslib":"^2.8.1"},"gitHead":"9e853a2d4a3ae139fec91fd940b6d04ed33a4dcb","_id":"@basementuniverse/jsonpad-sdk@1.14.0","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-/TSIweDbibywXyXA8hBvFNIg/aQlEYi62m4u20QFMhV0+pWZVQPdXhw2mL9RK9HQ8R6gvw+TQdu1zco4DSYgNA==","shasum":"3e6d1a89ab770d1b981892356571407641ac9e5d","tarball":"https://registry.npmjs.org/@basementuniverse/jsonpad-sdk/-/jsonpad-sdk-1.14.0.tgz","fileCount":58,"unpackedSize":237261,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDHxFgoOOb8ToLdIrd4eCqUaBijZaGAMnFgHz0J7FhjxwIhAMEyavZNHADazquFd3k5XkU13edCI2/57LSGo/30WD/+"}]},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"directories":{},"maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsonpad-sdk_1.14.0_1789554312900_0.2859033385381513"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-17T15:12:53.268Z","modified":"2026-09-16T10:25:13.198Z","1.0.0":"2024-11-17T15:12:53.628Z","1.0.1":"2024-11-17T21:04:43.086Z","1.1.0":"2024-11-20T20:17:48.977Z","1.2.0":"2024-11-20T20:23:35.388Z","1.3.0":"2024-12-08T16:43:51.941Z","1.3.1":"2024-12-08T22:09:58.688Z","1.3.2":"2024-12-08T23:30:08.526Z","1.3.3":"2024-12-08T23:41:32.149Z","1.3.4":"2024-12-09T12:39:58.068Z","1.3.5":"2024-12-09T13:23:56.126Z","1.4.0":"2024-12-11T21:00:23.834Z","1.5.0":"2024-12-14T23:17:13.579Z","1.6.0":"2024-12-15T21:11:35.787Z","1.6.1":"2024-12-16T20:17:05.409Z","1.6.2":"2024-12-17T21:58:21.176Z","1.6.3":"2025-02-05T21:00:01.288Z","1.6.4":"2025-02-06T23:07:21.175Z","1.6.5":"2025-02-08T13:59:35.311Z","1.7.0":"2026-09-11T16:18:56.176Z","1.8.0":"2026-09-12T00:17:33.075Z","1.9.0":"2026-09-12T22:14:44.160Z","1.10.0":"2026-09-13T14:59:11.665Z","1.11.0":"2026-09-13T21:50:13.666Z","1.12.0":"2026-09-14T21:53:17.469Z","1.13.0":"2026-09-15T23:20:07.983Z","1.14.0":"2026-09-16T10:25:13.044Z"},"bugs":{"url":"https://github.com/basementuniverse/jsonpad-sdk-js/issues"},"author":{"name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com","url":"https://gordonlarrigan.com"},"license":"MIT","homepage":"https://github.com/basementuniverse/jsonpad-sdk-js#readme","repository":{"type":"git","url":"git+https://github.com/basementuniverse/jsonpad-sdk-js.git"},"description":"JSONPad SDK for Node and browser","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"readme":"# JSONPad SDK\n\nThis package allows you to connect to JSONPad and manage your lists, items, indexes, and identities without needing to use the RESTful API directly.\n\n## Installation\n\nUsing NPM (e.g. for server-side Node.js or client-side use with a bundler like Webpack):\n\n```bash\nnpm install @basementuniverse/jsonpad-sdk\n```\n\nTo use the SDK in the browser, you can include it directly from a local file or CDN.\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@basementuniverse/jsonpad-sdk@1.6.1/build/jsonpad-sdk.js\"></script>\n```\n\nIf you'd prefer to download it and include the file manually, you only need `build/jsonpad-sdk.js` from the package.\n\nType definitions are included in the package for TypeScript users. These are in `/build/jsonpad-sdk.d.ts`.\n\nSee [Types](#types) for a reference of the types available in the SDK.\n\n## Usage\n\nCreate an instance of the JSONPad SDK and pass in your API token:\n\nNode (JS):\n\n```js\nconst JSONPad = require('@basementuniverse/jsonpad-sdk').default;\n\nconst jsonpad = new JSONPad('your-api-token');\n```\n\nNode (TS):\n\n```ts\nimport JSONPad from '@basementuniverse/jsonpad-sdk';\n\nconst jsonpad = new JSONPad('your-api-token');\n```\n\nBrowser:\n\n```html\n<script>\n\nconst jsonpad = new JSONPad.default('your-api-token');\n\n</script>\n```\n\nYou can also pass in an identity group and identity token if you're using identities and you want to cache an identity's credentials in the SDK instance for subsequent requests:\n\n```ts\nconst jsonpad = new JSONPad(\n  'your-api-token',\n  'your-identity-group',\n  'your-identity-token'\n);\n```\n\nA fourth argument sets options. `apiUrl` points the SDK at a different API, e.g. a\nlocal development server:\n\n```ts\nconst jsonpad = new JSONPad('your-api-token', undefined, undefined, {\n  apiUrl: 'http://localhost:8000',\n});\n```\n\n## Rate limits and quotas\n\nEvery response from the API includes information about your per-minute rate limit and your monthly quota. The SDK dispatches a `response` event with this information every time it receives a response, whether or not the request succeeded:\n\n```ts\njsonpad.addEventListener('response', e => {\n  const { rateLimit, quota } = e.detail;\n\n  if (rateLimit && rateLimit.remaining < 5) {\n    console.log('Nearly at the rate limit, slowing down...');\n  }\n\n  if (quota?.degraded) {\n    console.log(`Out of quota until ${quota.resetAt}, writes will be refused`);\n  }\n});\n```\n\nThe information from the most recent response is also available as `jsonpad.lastResponse`, which is `null` until the first request has been made. If you make requests concurrently, this is whichever response arrived last.\n\nSee [`ResponseMeta`](#responsemeta) for everything that's included, and [Limits and quotas](https://jsonpad.io/docs/limits-and-quotas) for how the limits work.\n\nWhen a request fails, the SDK throws a [`JSONPadError`](#jsonpaderror), which includes the HTTP status, the jsonpad error code, and the same rate limit and quota information:\n\n```ts\nimport JSONPad, { JSONPadError } from '@basementuniverse/jsonpad-sdk';\n\ntry {\n  await jsonpad.createItem('my-list', { data: { name: 'Alice' } });\n} catch (error) {\n  if (error instanceof JSONPadError && error.retryAfter !== null) {\n    // Wait for as long as the API asked before trying again\n    await new Promise(resolve => setTimeout(resolve, error.retryAfter * 1000));\n  }\n}\n```\n\nTo check your plan's limits and your usage at any time, use [Fetch the current token](#fetch-the-current-token).\n\n## Guard indexes\n\nAn index can be marked as a **guard**, which hides the value at its pointer from\nitem data whenever the API is used with a token. Everything else about the item\ncomes back as normal, and the value can still be written; it just reads back as\nthough the field was never there.\n\n```ts\nawait jsonpad.createIndex('rsvps', {\n  name: 'Email',\n  pathName: 'email',\n  pointer: '/email',\n  valueType: 'string',\n  guard: true,\n});\n\n// The email is hidden, but the RSVP can still be submitted from a browser\nconst item = await jsonpad.createItem('rsvps', {\n  data: { name: 'Alice', email: 'alice@example.com' },\n});\n\nconsole.log(item.data); // { name: 'Alice' }\n```\n\nThis is what makes a token safe to put in a public page: a guarded value is\nremoved everywhere item data leaves the API, including event snapshots, item\nversion history and realtime messages.\n\nAn [identity](#identities) can read the guarded values in the items it owns by\npassing `includeGuarded: true` alongside its credentials:\n\n```ts\nconst own = await jsonpad.fetchItem('rsvps', item.id, { includeGuarded: true });\n\nconsole.log(own.data); // { name: 'Alice', email: 'alice@example.com' }\n```\n\nGuards only apply to token auth. Your own data is always fully visible in the\njsonpad dashboard.\n\nBecause a guard index hides its value, it can't also be used as an alias or for\nsorting, filtering or searching — each of those would expose the value through\nanother channel. Creating or updating an index that combines them is refused.\n\n## Index builds\n\nAn index's values are built in the background. `createIndex` returns straight\naway with `buildStatus: 'building'`, and so does `updateIndex` when it changes\nthe index's `pointer`. Until the index is `ready`, requests that depend on its\nvalues are refused with a 409 `INDEX_BUILDING` error: filtering or ordering\nitems by it, fetching an item by alias, searching the list, and realtime\nsubscriptions by alias.\n\nUse `waitForIndex` to wait until an index can be used:\n\n```ts\nimport JSONPad, { IndexBuildError } from '@basementuniverse/jsonpad-sdk';\n\nconst index = await jsonpad.createIndex('products', {\n  name: 'Price',\n  pathName: 'price',\n  pointer: '/price',\n  valueType: 'number',\n  sorting: true,\n});\n\ntry {\n  await jsonpad.waitForIndex('products', index.id);\n} catch (error) {\n  if (error instanceof IndexBuildError && error.reason === 'failed') {\n    // e.g. an alias index where more than one item has the same value\n  }\n}\n\nconst cheapest = await jsonpad.fetchItems('products', { order: 'price' });\n```\n\nEach check fetches the index, which counts as a request, so the wait between\nchecks grows the longer the build takes.\n\nIf you'd rather handle it yourself, an `INDEX_BUILDING` error is a\n[`JSONPadError`](#jsonpaderror) with `code` 16006 and a `retryAfter` saying how\nmany seconds to wait. An index whose build failed has `buildStatus: 'failed'`,\nand requests that need it are refused with `INDEX_BUILD_FAILED` (16007). Failed\nbuilds aren't retried automatically: fix the problem, then call `rebuildIndex`\nto build it again.\n\n```ts\nawait jsonpad.rebuildIndex('products', 'sku');\nawait jsonpad.waitForIndex('products', 'sku');\n```\n\nItems can still be created, updated and deleted while an index is being built.\n\n## Tags\n\nLists, items, indexes, identities and tokens can have tags, which are useful for\ngrouping together everything that belongs to one of your apps.\n\n```ts\nconst list = await jsonpad.createList({\n  name: 'Recipes',\n  tags: ['recipe-app', 'production'],\n});\n\n// Tags are lowercase: \"Recipe-App\" is stored as \"recipe-app\"\nawait jsonpad.updateList(list.id, { tags: ['recipe-app', 'staging'] });\n```\n\nSetting `tags` replaces all of a resource's tags, and an empty array removes\nthem. Tags can only contain `a-z`, `0-9`, `-` and `_`, and a resource can have\nup to 20 tags of up to 50 characters each.\n\nUse the `tagged` parameter to fetch resources by tag:\n\n```ts\n// Lists tagged \"recipe-app\"\nawait jsonpad.fetchLists({ tagged: 'recipe-app' });\n\n// Lists tagged \"recipe-app\" or \"cookbook-app\"\nawait jsonpad.fetchLists({ tagged: 'recipe-app,cookbook-app' });\n\n// Lists tagged both \"recipe-app\" and \"production\"\nawait jsonpad.fetchLists({ tagged: ['recipe-app', 'production'] });\n```\n\nIdentities can't set their own tags when registering or updating themselves.\n\n## Schema sync\n\nDescribe your lists and their indexes in a document (usually a\n`jsonpad-schema.json` file in your repository), and `syncSchema` creates and\nupdates them to match. Lists are keyed by path name and indexes by path name\nwithin their list, so a document contains no ids. Fields that are left out are\nleft as they are, and nothing is deleted unless you ask for a prune. See\n[Schema sync](https://jsonpad.io/docs/schema-sync) for how documents, scopes,\nrebuilds and pruning work.\n\n```ts\nimport JSONPad, { SyncSchemaDocument } from '@basementuniverse/jsonpad-sdk';\n\nconst document: SyncSchemaDocument = {\n  $schema: 'https://jsonpad.io/schema/sync-v1.json',\n  scope: 'recipe-app',\n  lists: {\n    recipes: {\n      name: 'Recipes',\n      indexable: true,\n      indexes: {\n        slug: { pointer: '/slug', alias: true },\n      },\n    },\n  },\n};\n\n// See what would change\nconst plan = await jsonpad.syncSchema(document, { dryRun: true });\n\n// Apply it\nconst result = await jsonpad.syncSchema(document);\nif (!result.applied) {\n  console.error(result.blockedBy?.message);\n}\n```\n\nA sync is all or nothing. If any change would be refused, or a change rebuilds\nan index in a list that has items and `allowRebuild` isn't set, nothing is\nchanged. `syncSchema` still returns the plan in that case, with `applied: false`\nand the reason in `blockedBy`, so check `applied` rather than catching an error.\n\nWith `prune: true`, a sync also deletes the lists and indexes that the\ndocument's scope manages but the document no longer declares. Only resources a\nprevious sync with the same scope declared are ever deleted. Deleting a list\nthat has items, or a guard index, also needs `allowDestructive: true`:\n\n```ts\nconst result = await jsonpad.syncSchema(document, {\n  prune: true,\n  allowDestructive: true,\n});\n```\n\n`moveLists` moves lists to another scope, assigns lists that no scope manages to\na scope, or releases them from their scope (pass `null`). The scope's tag moves\nwith each list:\n\n```ts\n// Move lists by id or path name\nawait jsonpad.moveLists({ lists: ['recipes'] }, 'cookbook-app');\n\n// Rename a scope\nawait jsonpad.moveLists({ fromScope: 'recipe-app' }, 'cookbook-app');\n\n// Stop managing a list with schema sync\nawait jsonpad.moveLists({ lists: ['recipes'] }, null);\n```\n\n`exportSchema` describes existing lists as a document, which is the easiest way\nto start using schema sync on an account you already have:\n\n```ts\nconst { document, warnings } = await jsonpad.exportSchema({\n  tagged: 'recipe-app',\n});\n```\n\nThe token needs the `sync-schema` permission, plus the permission for each\nchange a sync makes.\n\n## Command line tool\n\n> **Deprecated:** the `jsonpad` command has moved to its own package,\n> [`@basementuniverse/jsonpad-cli`](https://www.npmjs.com/package/@basementuniverse/jsonpad-cli),\n> which has the same commands, options, output and exit codes. It will be\n> removed from this package in 2.0.0. Replace\n> `npx @basementuniverse/jsonpad-sdk` with `npx @basementuniverse/jsonpad-cli`.\n> If you installed this package globally for the command, run\n> `npm uninstall -g @basementuniverse/jsonpad-sdk` before installing the new\n> one, since both provide `jsonpad`.\n\nThe package includes a `jsonpad` command for syncing schema documents, e.g. in\na deploy script or CI. It needs Node.js 18.3 or later, and reads the API token\nfrom the `JSONPAD_TOKEN` environment variable.\n\n```bash\n# Without installing anything\nnpx @basementuniverse/jsonpad-sdk sync-schema --dry-run\n\n# Or, with the SDK installed in your project\nnpx jsonpad sync-schema --dry-run\n```\n\n```\njsonpad sync-schema [file]            Sync a document (default: jsonpad-schema.json)\n  --dry-run                           Show what would change, without changing it\n  --allow-rebuild                     Allow changes that rebuild an index in a list with items\n  --prune                             Also delete what the scope manages but the document no longer declares\n  --allow-destructive                 Allow a prune to delete lists that have items, and guard indexes\n  --wait                              Wait for index builds to finish\n  --timeout <seconds>                 How long --wait waits for each index (default 600)\n  --show-unchanged                    Also list resources that don't change\n  --json                              Print the API's response as JSON\n\njsonpad export-schema                 Write a document for existing lists\n  --scope <scope>                     Only lists managed by this scope\n  --tagged <tags>                     Only lists with one of these comma-separated tags\n  --lists <path names>                Only these comma-separated lists\n  --out <file>                        Write to a file instead of stdout\n\njsonpad move-lists [list...]          Move lists to a scope, or release them from their scope\n  --to <scope>                        The scope to move the lists to\n  --release                           Release the lists from their scope instead\n  --from-scope <scope>                Move every list this scope manages (e.g. to rename it)\n  --dry-run                           Show what would change, without changing it\n  --json                              Print the API's response as JSON\n\njsonpad rebuild-index <list> <index>  Rebuild an index whose last build failed\n  --wait                              Wait for the build to finish\n```\n\n`JSONPAD_API_URL` sets the API's URL, and `NO_COLOR` turns off coloured output.\n\nExit codes: `0` success, `1` error (including a sync refused because a change has\nerrors), `2` a sync that needs `--allow-rebuild`, `3` an index build that failed\nor didn't finish while waiting, `4` a sync that needs `--allow-destructive`. A\ndry run exits the same way the real sync would.\n\n## Contents\n\n### Lists\n\n- [Create a list](#create-a-list)\n- [Fetch all lists](#fetch-all-lists)\n- [Fetch a list](#fetch-a-list)\n- [Search a list](#search-a-list)\n- [Fetch list stats](#fetch-list-stats)\n- [Fetch list events](#fetch-list-events)\n- [Fetch a list event](#fetch-a-list-event)\n- [Update a list](#update-a-list)\n- [Delete a list](#delete-a-list)\n\n### Items\n\n- [Create an item](#create-an-item)\n- [Fetch all items](#fetch-all-items)\n- [Fetch all items data](#fetch-all-items-data)\n- [Fetch an item](#fetch-an-item)\n- [Fetch an item's data](#fetch-an-items-data)\n- [Fetch item stats](#fetch-item-stats)\n- [Fetch item events](#fetch-item-events)\n- [Fetch an item event](#fetch-an-item-event)\n- [Restore an item](#restore-an-item)\n- [Update an item](#update-an-item)\n- [Update an item's data](#update-an-items-data)\n- [Replace an item's data](#replace-an-items-data)\n- [Patch an item's data](#patch-an-items-data)\n- [Delete an item](#delete-an-item)\n- [Delete part of an item's data](#delete-part-of-an-items-data)\n\n### Indexes\n\n- [Create an index](#create-an-index)\n- [Fetch all indexes](#fetch-all-indexes)\n- [Fetch an index](#fetch-an-index)\n- [Wait for an index to be built](#wait-for-an-index-to-be-built)\n- [Fetch index stats](#fetch-index-stats)\n- [Fetch index events](#fetch-index-events)\n- [Fetch an index event](#fetch-an-index-event)\n- [Update an index](#update-an-index)\n- [Rebuild an index](#rebuild-an-index)\n- [Delete an index](#delete-an-index)\n\n### Identities\n\n- [Create an identity](#create-an-identity)\n- [Fetch all identities](#fetch-all-identities)\n- [Fetch an identity](#fetch-an-identity)\n- [Fetch identity stats](#fetch-identity-stats)\n- [Fetch identity events](#fetch-identity-events)\n- [Fetch an identity event](#fetch-an-identity-event)\n- [Update an identity](#update-an-identity)\n- [Delete an identity](#delete-an-identity)\n- [Register an identity](#register-an-identity)\n- [Login using an identity](#login-using-an-identity)\n- [Logout from an identity](#logout-from-an-identity)\n- [Fetch the currently logged in identity](#fetch-the-currently-logged-in-identity)\n- [Update the currently logged in identity](#update-the-currently-logged-in-identity)\n- [Delete the currently logged in identity](#delete-the-currently-logged-in-identity)\n\n### Tokens\n\n- [Fetch the current token](#fetch-the-current-token)\n\n### Schema sync\n\n- [Sync a schema](#sync-a-schema)\n- [Export a schema](#export-a-schema)\n- [Move lists between scopes](#move-lists-between-scopes)\n\n## SDK Reference\n\n### Create a list\n\n```ts\nfunction createList(\n  data: {\n    // The list name\n    name?: string;\n\n    // A short description of the list\n    description?: string;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    tags?: string[];\n\n    // A case-insensitive name which can be used to refer to the list in API paths or SDK methods\n    // Must be unique, and can only contain A-Z, a-z, 0-9, - and _\n    pathName?: string;\n\n    // An optional JSON Schema for validating item data in this list\n    schema?: any;\n\n    // Should this item be pinned to the menu (for quick access) in the jsonpad.io dashboard?\n    pinned?: boolean;\n\n    // Should this list be readonly? This will prevent the list from being modified, and also prevents items and indexes in the list from being created, updated, or deleted\n    // Default is false\n    readonly?: boolean;\n\n    // Should realtime events be enabled for this list and items contained in this list?\n    // Default is false\n    realtime?: boolean;\n\n    // Should this list be protected? This will prevent the list from being deleted if it contains any items\n    // Default is false\n    protected?: boolean;\n\n    // Should this list be indexable? This will allow users to fetch a list of items contained in this list\n    // Default is true\n    indexable?: boolean;\n\n    // Should this list be generative? This will allow users to use AI to generate new items in this list\n    // Default is false\n    generative?: boolean;\n\n    // A prompt to use when generating new items in this list\n    generativePrompt?: string;\n  }\n): Promise<List>;\n```\n\nExample:\n\n```ts\nconst list: List = await jsonpad.createList({\n  name: 'My List',\n  description: 'This is my list',\n  schema: {\n    type: 'object',\n    properties: {\n      name: { type: 'string' },\n      age: { type: 'number' },\n    },\n    required: ['name', 'age'],\n  },\n});\n```\n\n### Fetch all lists\n\n```ts\nfunction fetchLists(\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of lists per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the lists by this field\n    // Default is createdAt\n    order?:\n      | 'createdAt'\n      | 'updatedAt'\n      | 'name'\n      | 'pathName'\n      | 'pinned'\n      | 'readonly'\n      | 'realtime'\n      | 'indexable'\n      | 'generative'\n      | 'protected';\n\n    // The order direction\n    // Default is desc for most date/boolean fields, asc otherwise\n    direction?:\n      | 'asc'\n      | 'desc';\n\n    // Filter lists by name (partial match, case-insensitive)\n    name?: string;\n\n    // Filter lists by path name (partial match, case-insensitive)\n    pathName?: string;\n\n    // Filter lists by pinned status\n    pinned?: boolean;\n\n    // Filter lists by readonly status\n    readonly?: boolean;\n\n    // Filter lists by realtime status\n    realtime?: boolean;\n\n    // Filter lists by indexable status\n    indexable?: boolean;\n\n    // Filter lists by protected status\n    protected?: boolean;\n\n    // Filter lists by generative status\n    generative?: boolean;\n\n    // Only fetch lists with these tags (see Tags). A comma-separated string matches any of the tags,\n    // and an array requires one match from every element\n    tagged?: string | string[];\n  }\n): Promise<PaginatedResponse<List>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<List> = await jsonpad.fetchLists({\n  page: 1,\n  limit: 10,\n  order: 'createdAt',\n  direction: 'desc',\n});\n```\n\n### Fetch a list\n\nThis only returns the list (i.e. metadata like name, description etc.) and does not include the list's items or indexes.\n\n```ts\nfunction fetchList(\n  id: string // The list id or path name\n): Promise<List>;\n```\n\nExample:\n\n```ts\nconst list: List = await jsonpad.fetchList('3e3ce22b-ec32-4c9d-956b-27ba00f38aa9');\n```\n\n### Search a list\n\n```ts\nfunction searchList(\n  id: string, // The list id or path name\n  query: string, // The search query\n  parameters: {\n    // Include items in the search results\n    includeItems?: boolean;\n\n    // Include item data in the search results\n    // (only used if items are included in the results)\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  }\n): Promise<SearchResult[]>;\n```\n\nExample:\n\n```ts\nconst results: SearchResult[] = await jsonpad.searchList(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  'search query',\n  {\n    includeItems: true,\n    includeData: true,\n  }\n);\n```\n\nExample result:\n\n```ts\n// With includeItems: false\n[\n  {\n    relevance: 0.5,\n    id: '463de413-df83-4a0d-8acb-b157a6afffd6'\n  },\n  // more results...\n]\n\n// With includeItems: true and includeData: false\n[\n  {\n    relevance: 0.5,\n    item: {\n      id: '463de413-df83-4a0d-8acb-b157a6afffd6',\n      createdAt: new Date('2021-01-01T00:00:00Z'),\n      updatedAt: new Date('2021-01-01T00:00:00Z'),\n      description: 'This is Alice',\n      version: '1.0.0',\n      readonly: false,\n      activated: true,\n      size: 123,\n    }\n  },\n  // more results...\n]\n\n// With includeItems: true and includeData: true\n[\n  {\n    relevance: 0.5,\n    item: {\n      id: '463de413-df83-4a0d-8acb-b157a6afffd6',\n      createdAt: new Date('2021-01-01T00:00:00Z'),\n      updatedAt: new Date('2021-01-01T00:00:00Z'),\n      data: {\n        name: 'Alice',\n        age: 30,\n      },\n      description: 'This is Alice',\n      version: '1.0.0',\n      readonly: false,\n      activated: true,\n      size: 123,\n    }\n  },\n  // more results...\n]\n```\n\n### Fetch list stats\n\n```ts\nfunction fetchListStats(\n  id: string, // The list id or path name\n  parameters: {\n    // The number of days to fetch stats for\n    // Default is 7, max is 90\n    days?: number;\n  }\n): Promise<ListStats>;\n```\n\nExample:\n\n```ts\nconst stats: ListStats = await jsonpad.fetchListStats(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    days: 7,\n  }\n);\n```\n\n### Fetch list events\n\n```ts\nfunction fetchListEvents(\n  id: string, // The list id or path name\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of events per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the events by this field\n    // Default is createdAt\n    order?:\n      | 'createdAt'\n      | 'type';\n\n    // The order direction\n    // Default is desc for most date fields, asc otherwise\n    direction?:\n      | 'asc'\n      | 'desc';\n\n    // Filter events by type\n    type?:\n      | 'list-created'\n      | 'list-updated'\n      | 'list-deleted';\n\n    // Filter for events after this date\n    startAt?: Date;\n\n    // Filter for events before this date\n    endAt?: Date;\n\n    // Include each event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include each event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  }\n): Promise<PaginatedResponse<Event>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<Event> = await jsonpad.fetchListEvents(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    page: 1,\n    limit: 10,\n    order: 'createdAt',\n    direction: 'desc',\n    startAt: new Date('2021-01-01'),\n    endAt: new Date('2021-12-31'),\n  }\n);\n```\n\n### Fetch a list event\n\n```ts\nfunction fetchListEvent(\n  id: string, // The list id or path name\n  eventId: string, // The event id\n  parameters?: {\n    // Include the event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include the event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  }\n): Promise<Event>;\n```\n\nExample:\n\n```ts\nconst event: Event = await jsonpad.fetchListEvent(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  'b87aacfb-15b3-43d3-8ffc-a21443ee05f2'\n);\n```\n\n### Update a list\n\n```ts\nfunction updateList(\n  id: string, // The list id or path name\n  data: {\n    // The list name\n    name?: string;\n\n    // A short description of the list\n    description?: string;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    tags?: string[];\n\n    // A case-insensitive name which can be used to refer to the list in API paths or SDK methods\n    // Must be unique, and can only contain A-Z, a-z, 0-9, - and _\n    pathName?: string;\n\n    // An optional JSON Schema for validating item data in this list\n    schema?: any;\n\n    // Should this item be pinned to the menu (for quick access) in the jsonpad.io dashboard?\n    pinned?: boolean;\n\n    // Should this list be readonly? This will prevent the list from being modified, and also prevents items and indexes in the list from being created, updated, or deleted\n    // Default is false\n    readonly?: boolean;\n\n    // Should realtime events be enabled for this list and items contained in this list?\n    // Default is false\n    realtime?: boolean;\n\n    // Should this list be protected? This will prevent the list from being deleted if it contains any items\n    // Default is false\n    protected?: boolean;\n\n    // Should this list be indexable? This will allow users to fetch a list of items contained in this list\n    // Default is true\n    indexable?: boolean;\n\n    // Should this list be generative? This will allow users to use AI to generate new items in this list\n    // Default is false\n    generative?: boolean;\n\n    // A prompt to use when generating new items in this list\n    generativePrompt?: string;\n  }\n): Promise<List>;\n```\n\nExample:\n\n```ts\nconst list: List = await jsonpad.updateList(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    name: 'My Updated List',\n    description: 'This is my updated list',\n  }\n);\n```\n\n### Delete a list\n\n```ts\nfunction deleteList(\n  id: string // The list id or path name\n): Promise<void>;\n```\n\nExample:\n\n```ts\nawait jsonpad.deleteList('3e3ce22b-ec32-4c9d-956b-27ba00f38aa9');\n```\n\n### Create an item\n\n```ts\nfunction createItem(\n  listId: string, // The list id or path name\n  data: {\n    // The item data\n    data: any;\n\n    // A short description of the item\n    description?: string;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    tags?: string[];\n\n    // Manually set the item's version\n    // Default is \"1\"\n    version?: string;\n\n    // Should this item be readonly?\n    readonly?: boolean;\n  },\n  parameters?: {\n    // Should a new item id be generated?\n    // Default is true\n    generate?: boolean;\n\n    // Include the item data in the response?\n    // Default is true\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<Item>;\n```\n\nExample:\n\n```ts\nconst item: Item = await jsonpad.createItem(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    data: {\n      name: 'Alice',\n      age: 30,\n    },\n    description: 'This is Alice',\n  },\n  {\n    generate: false,\n    includeData: true,\n  }\n);\n```\n\nIf you have previously logged in using an identity, the identity group and identity token will have been cached in the SDK instance and will be included in subsequent requests by default.\n\nYou can override these cached credentials by passing different credentials into the `identity` parameter.\n\nOr, you can skip using identity credentials altogether by setting `ignore: true` in the `identity` parameter.\n\n### Fetch all items\n\n```ts\nfunction fetchItems(\n  listId: string, // The list id or path name\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of items per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the items by this field\n    // Default is createdAt\n    order?: ItemOrderBy;\n\n    // The order direction\n    // Default is desc for most date fields, asc otherwise\n    direction?: OrderDirection;\n\n    // Filter items by alias (partial match, case-insensitive)\n    // This uses an alias index, if the list has one\n    alias?: string;\n\n    // Filter items by their own readonly status\n    // Items in a readonly list can't be modified either, but they aren't\n    // treated as readonly by this filter\n    readonly?: boolean;\n\n    // Filter for items owned by the identity with this id\n    // This is ignored when using identity credentials, since only items owned\n    // by that identity will be visible\n    identityId?: string;\n\n    // Should we include the item data for each item in the response?\n    // Defualt is false\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n\n    // Optionally only include a part of each item's data in the response\n    // This uses JSON Path syntax\n    path?: string;\n\n    // Filter items by an indexed field\n    // This should match the path name of an index in the list\n    [key: string]: any;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n\n    // Only fetch items with these tags (see Tags). A comma-separated string matches any of the tags,\n    // and an array requires one match from every element\n    tagged?: string | string[];\n  }\n): Promise<PaginatedResponse<Item>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<Item> = await jsonpad.fetchItems(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    page: 1,\n    limit: 10,\n    order: 'createdAt',\n    direction: 'desc',\n  }\n);\n```\n\n### Fetch all items data\n\n```ts\nfunction fetchItemsData<T = any>(\n  listId: string, // The list id or path name\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of items per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the items by this field\n    // Default is createdAt\n    order?: ItemOrderBy;\n\n    // The order direction\n    // Default is desc for most date fields, asc otherwise\n    direction?: OrderDirection;\n\n    // Filter items by alias (partial match, case-insensitive)\n    // This uses an alias index, if the list has one\n    alias?: string;\n\n    // Filter items by their own readonly status\n    // Items in a readonly list can't be modified either, but they aren't\n    // treated as readonly by this filter\n    readonly?: boolean;\n\n    // Filter for items owned by the identity with this id\n    // This is ignored when using identity credentials, since only items owned\n    // by that identity will be visible\n    identityId?: string;\n\n    // Optionally only include a part of each item's data in the response\n    // This uses JSON Path syntax\n    path?: string;\n\n    // Optionally only include a specific field from each item's data in the response\n    // If both a pointer and a path are provided, the path will start at the pointer location (i.e. the pointer will be evaluated first, then the path will be evaluated on the result)\n    // This uses JSON Pointer syntax\n    pointer?: string;\n\n    // Filter items by an indexed field\n    // This should match the path name of an index in the list\n    [key: string]: any;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n\n    // Only fetch items with these tags (see Tags). A comma-separated string matches any of the tags,\n    // and an array requires one match from every element\n    tagged?: string | string[];\n  }\n): Promise<PaginatedResponse<T>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<any> = await jsonpad.fetchItemsData(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    page: 1,\n    limit: 10,\n    order: 'createdAt',\n    direction: 'desc',\n  }\n);\n```\n\n### Fetch an item\n\n```ts\nfunction fetchItem(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  parameters?: {\n    // Fetch a specific version of an item\n    // If not provided, the latest version will be fetched\n    version?: string;\n\n    // Should we include the item data in the response?\n    // Default is false\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n\n    // Optionally only include a part of the item's data in the response\n    // This uses JSON Path syntax\n    path?: string;\n\n    // If the item doesn't exist, should we use AI and the list prompt to generate a new item?\n    // If the list is generative, this will default to true\n    // This parameter can be used to override the list's generative setting\n    generate?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<Item>;\n```\n\nExample:\n\n```ts\nconst item: Item = await jsonpad.fetchItem(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b'\n);\n```\n\n### Fetch an item's data\n\n```ts\nfunction fetchItemData(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  parameters?: {\n    // Fetch a specific version of an item\n    // If not provided, the latest version will be fetched\n    version?: string;\n\n    // Optionally only include a part of the item's data in the response\n    // This uses JSON Path syntax\n    path?: string;\n\n    // Optionally only include a specific field from the item's data in the response\n    // If both a pointer and a path are provided, the path will start at the pointer location (i.e. the pointer will be evaluated first, then the path will be evaluated on the result)\n    // This uses JSON Pointer syntax\n    pointer?: string;\n\n    // If the item doesn't exist, should we use AI and the list prompt to generate a new item?\n    // If the list is generative, this will default to true\n    // This parameter can be used to override the list's generative setting\n    generate?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<Item>;\n```\n\nExample:\n\n```ts\nconst itemData: any = await jsonpad.fetchItemData(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b'\n);\n```\n\n### Fetch item stats\n\n```ts\nfunction fetchItemStats(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  parameters: {\n    // The number of days to fetch stats for\n    // Default is 7, max is 90\n    days?: number;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<ItemStats>;\n```\n\nExample:\n\n```ts\nconst stats: ItemStats = await jsonpad.fetchItemStats(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  {\n    days: 7,\n  }\n);\n```\n\n### Fetch item events\n\n```ts\nfunction fetchItemEvents(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of events per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the events by this field\n    // Default is createdAt\n    order?:\n      | 'createdAt'\n      | 'type';\n\n    // The order direction\n    // Default is desc for most date fields, asc otherwise\n    direction?:\n      | 'asc'\n      | 'desc';\n\n    // Filter events by type\n    type?:\n      | 'item-created'\n      | 'item-updated'\n      | 'item-restored'\n      | 'item-deleted';\n\n    // Filter for events after this date\n    startAt?: Date;\n\n    // Filter for events before this date\n    endAt?: Date;\n\n    // Only return events that the item can be restored from\n    restorable?: boolean;\n\n    // Include each event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n\n    // Include each event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<PaginatedResponse<Event>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<Event> = await jsonpad.fetchItemEvents(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  {\n    page: 1,\n    limit: 10,\n    order: 'createdAt',\n    direction: 'desc',\n    startAt: new Date('2021-01-01'),\n    endAt: new Date('2021-12-31'),\n  }\n);\n```\n\n### Fetch an item event\n\n```ts\nfunction fetchItemEvent(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  eventId: string, // The event id\n  parameters?: {\n    // Include the event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n\n    // Include the event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<Event>;\n```\n\nExample:\n\n```ts\nconst event: Event = await jsonpad.fetchItemEvent(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  'b87aacfb-15b3-43d3-8ffc-a21443ee05f2'\n);\n```\n\n### Restore an item\n\nRestore an item to the state it was in when the specified event was created. The item's `data`, `description`, `readonly` and `activated` fields will be restored, and a new version will be created.\n\nThis can also be used to restore an item that has been deleted, in which case the item will be re-created with the same id. Deleted items must be referenced by id (not by alias).\n\nUse `fetchItemEvents` with `restorable: true` to find events that an item can be restored from.\n\nRestoring an item requires the `restore` (or `restore-with-identity`) token permission.\n\n```ts\nfunction restoreItem(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias (deleted items must be referenced by id)\n  eventId: string, // The id of an item-created, item-updated, item-restored or item-deleted event for this item\n  parameters?: {\n    // Should we include the item data in the response?\n    // Default is true\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<Item>;\n```\n\nExample:\n\n```ts\nconst item: Item = await jsonpad.restoreItem(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  'b87aacfb-15b3-43d3-8ffc-a21443ee05f2'\n);\n```\n\n### Update an item\n\n```ts\nfunction updateItem(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  data: {\n    // The item data\n    data: any;\n\n    // A short description of the item\n    description?: string;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    tags?: string[];\n\n    // Manually set the item's version\n    // By default this will increment the current version number\n    version?: string;\n\n    // Should this item be readonly?\n    readonly?: boolean;\n  },\n  parameters?: {\n    // Should we include the item data in the response?\n    // Default is false\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<Item>;\n```\n\nExample:\n\n```ts\nconst item: Item = await jsonpad.updateItem(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  {\n    data: {\n      name: 'Alice',\n      age: 31,\n    },\n    description: 'This is Alice',\n  }\n);\n```\n\n### Update an item's data\n\n```ts\nfunction updateItemData(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  data: any, // The new item data\n  parameters?: {\n    // Optionally update an item's data at a specific location\n    // This uses JSON Pointer syntax\n    pointer?: string;\n\n    // Should we include the item data in the response?\n    // Default is true\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<any>;\n```\n\nExample:\n\n```ts\nconst itemData: any = await jsonpad.updateItemData(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  {\n    name: 'Alice',\n    age: 31,\n  },\n  {\n    pointer: '<JSON Pointer>',\n  }\n);\n```\n\n### Replace an item's data\n\n```ts\nfunction replaceItemData(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  data: any, // The new item data\n  parameters?: {\n    // Optionally replace an item's data at a specific location\n    // This uses JSON Pointer syntax\n    pointer?: string;\n\n    // Should we include the item data in the response?\n    // Default is true\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<any>;\n```\n\nExample:\n\n```ts\nconst itemData: any = await jsonpad.replaceItemData(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  {\n    name: 'Alice',\n    age: 31,\n  },\n  {\n    pointer: '<JSON Pointer>',\n  }\n);\n```\n\n### Patch an item's data\n\n```ts\nfunction patchItemData(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  patch: JSONPatch, // The JSON Patch operations to apply\n  parameters?: {\n    // Optionally patch an item's data at a specific location\n    // This uses JSON Pointer syntax\n    pointer?: string;\n\n    // Should we include the item data in the response?\n    // Default is true\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<any>;\n```\n\nExample:\n\n```ts\nconst itemData: any = await jsonpad.patchItemData(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  [\n    { op: 'add', path: '/name', value: 'Alice' },\n    { op: 'add', path: '/age', value: 31 },\n  ],\n  {\n    pointer: '<JSON Pointer>',\n  }\n);\n```\n\n### Delete an item\n\n```ts\nfunction deleteItem(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<void>;\n```\n\nExample:\n\n```ts\nawait jsonpad.deleteItem(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b'\n);\n```\n\n### Delete part of an item's data\n\n```ts\nfunction deleteItemData(\n  listId: string, // The list id or path name\n  itemId: string, // The item id or alias\n  parameters: {\n    // Optionally delete part of an item's data at a specific location\n    // This uses JSON Pointer syntax\n    pointer?: string;\n\n    // Should we include the item data in the response?\n    // Default is true\n    includeData?: boolean;\n\n    // Include guarded values in the response?\n    // Values covered by a guard index are removed from item data in token auth\n    // mode. When using identity credentials, this returns the guarded values in\n    // the items owned by that identity\n    // Default is false\n    includeGuarded?: boolean;\n  },\n  identity?: {\n    // Ignore cached identity credentials and don't send them with the request\n    ignore?: boolean;\n\n    // Set the identity group, or override cached identity group\n    group?: string;\n\n    // Set the identity token, or override cached identity token\n    token?: string;\n  }\n): Promise<Item>;\n```\n\nExample:\n\n```ts\nconst itemData: any = await jsonpad.deleteItemData(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '098e58bc-05f6-4a59-a755-fb9bc54f4a5b',\n  {\n    pointer: '<JSON Pointer>',\n  }\n);\n```\n\n### Create an index\n\n```ts\nfunction createIndex(\n  listId: string, // The list id or path name\n  data: {\n    // The index name\n    name: string;\n\n    // A short description of the index\n    description?: string;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    tags?: string[];\n\n    // The path name of index, used in API paths and SDK methods\n    pathName: string;\n\n    // The JSON Pointer to the field to index\n    pointer: string;\n\n    // The value type of the field to index\n    valueType:\n      | 'string'\n      | 'number'\n      | 'date';\n\n    // Should this index be an alias index?\n    // Alias indexes are used to quickly fetch items by alias\n    // Default is false\n    alias?: boolean;\n\n    // Should this index be used for sorting?\n    // Default is false\n    sorting?: boolean;\n\n    // Should this index be used for filtering?\n    // Default is false\n    filtering?: boolean;\n\n    // Should this index be used for searching?\n    // Default is false\n    searching?: boolean;\n\n    // Should this index be a guard index?\n    // The value at a guard index's pointer is removed from item data in\n    // responses in token auth mode. The value can still be written\n    // A guard index can't also be used as an alias, or for sorting, filtering\n    // or searching, because each of those would expose the value it hides\n    // Default is false\n    guard?: boolean;\n\n    // The default order direction for this index\n    // Default is asc\n    defaultOrderDirection?:\n      | 'asc'\n      | 'desc';\n  }\n): Promise<Index>;\n```\n\nExample:\n\n```ts\nconst index: Index = await jsonpad.createIndex(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    name: 'Name',\n    description: 'Name index',\n    pathName: 'name',\n    pointer: '/name',\n    valueType: 'string',\n    alias: false,\n    sorting: true,\n    filtering: true,\n    searching: true,\n    defaultOrderDirection: 'asc',\n  }\n);\n```\n\n### Fetch all indexes\n\n```ts\nfunction fetchIndexes(\n  listId: string, // The list id or path name\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of indexes per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the indexes by this field\n    // Default is createdAt\n    order?:\n      | 'createdAt'\n      | 'updatedAt'\n      | 'name'\n      | 'pathName'\n      | 'valueType'\n      | 'alias'\n      | 'sorting'\n      | 'filtering'\n      | 'searching'\n      | 'guard'\n      | 'defaultOrderDirection'\n      | 'activated';\n\n    // The order direction\n    // Default is desc for most date/boolean fields, asc otherwise\n    direction?:\n      | 'asc'\n      | 'desc';\n\n    // Filter indexes by name (partial match, case-insensitive)\n    name?: string;\n\n    // Filter indexes by path name (partial match, case-insensitive)\n    pathName?: string;\n\n    // Filter indexes by value type\n    valueType?:\n      | 'string'\n      | 'number'\n      | 'date';\n\n    // Filter indexes by alias status\n    alias?: boolean;\n\n    // Filter indexes by guard status\n    guard?: boolean;\n\n    // Filter indexes by default order direction\n    defaultOrderDirection?:\n      | 'asc'\n      | 'desc';\n\n    // Only fetch indexes with these tags (see Tags). A comma-separated string matches any of the tags,\n    // and an array requires one match from every element\n    tagged?: string | string[];\n  }\n): Promise<PaginatedResponse<Index>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<Index> = await jsonpad.fetchIndexes(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  {\n    page: 1,\n    limit: 10,\n    order: 'createdAt',\n    direction: 'desc',\n  }\n);\n```\n\n### Fetch an index\n\n```ts\nfunction fetchIndex(\n  listId: string, // The list id or path name\n  indexId: string // The index id or path name\n): Promise<Index>;\n```\n\nExample:\n\n```ts\nconst index: Index = await jsonpad.fetchIndex(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6'\n);\n```\n\n### Wait for an index to be built\n\nResolves with the index once its `buildStatus` is `'ready'`. Throws an\n[`IndexBuildError`](#indexbuilderror) if the build fails, or if the index isn't\nready before the timeout. A check that's rate limited is retried after the delay\nthe API asks for, as long as that's before the timeout. See\n[Index builds](#index-builds).\n\n```ts\nfunction waitForIndex(\n  listId: string, // The list id or path name\n  indexId: string, // The index id or path name\n  options?: {\n    // How long to wait before giving up, in milliseconds\n    // Default is 300000 (5 minutes)\n    timeout?: number;\n\n    // How long to wait before checking again, in milliseconds\n    // This grows by half after each check, up to maxInterval\n    // Each check fetches the index, which counts as a request\n    // Default is 500\n    interval?: number;\n\n    // The longest wait between checks, in milliseconds\n    // Default is 10000\n    maxInterval?: number;\n  }\n): Promise<Index>;\n```\n\nExample:\n\n```ts\nconst index: Index = await jsonpad.waitForIndex(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6',\n  { timeout: 60000 }\n);\n```\n\n### Fetch index stats\n\n```ts\nfunction fetchIndexStats(\n  listId: string, // The list id or path name\n  indexId: string, // The index id or path name\n  parameters: {\n    // The number of days to fetch stats for\n    // Default is 7, max is 90\n    days?: number;\n  }\n): Promise<IndexStats>;\n```\n\nExample:\n\n```ts\nconst stats: IndexStats = await jsonpad.fetchIndexStats(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6',\n  {\n    days: 7,\n  }\n);\n```\n\n### Fetch index events\n\n```ts\nfunction fetchIndexEvents(\n  listId: string, // The list id or path name\n  indexId: string, // The index id or path name\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of events per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the events by this field\n    // Default is createdAt\n    order?:\n      | 'createdAt'\n      | 'type';\n\n    // The order direction\n    // Default is desc for most date fields, asc otherwise\n    direction?:\n      | 'asc'\n      | 'desc';\n\n    // Filter events by type\n    type?:\n      | 'index-created'\n      | 'index-updated'\n      | 'index-deleted';\n\n    // Filter for events after this date\n    startAt?: Date;\n\n    // Filter for events before this date\n    endAt?: Date;\n\n    // Include each event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include each event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  }\n): Promise<PaginatedResponse<Event>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<Event> = await jsonpad.fetchIndexEvents(\n  'list-id3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6',\n  {\n    page: 1,\n    limit: 10,\n    order: 'createdAt',\n    direction: 'desc',\n    startAt: new Date('2021-01-01'),\n    endAt: new Date('2021-12-31'),\n  }\n);\n```\n\n### Fetch an index event\n\n```ts\nfunction fetchIndexEvent(\n  listId: string, // The list id or path name\n  indexId: string, // The index id or path name\n  eventId: string, // The event id\n  parameters?: {\n    // Include the event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include the event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  }\n): Promise<Event>;\n```\n\nExample:\n\n```ts\nconst event: Event = await jsonpad.fetchIndexEvent(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6',\n  'b87aacfb-15b3-43d3-8ffc-a21443ee05f2'\n);\n```\n\n### Update an index\n\n```ts\nfunction updateIndex(\n  listId: string, // The list id or path name\n  indexId: string, // The index id or path name\n  data: {\n    // The index name\n    name?: string;\n\n    // A short description of the index\n    description?: string;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    tags?: string[];\n\n    // The path name of index, used in API paths and SDK methods\n    pathName?: string;\n\n    // The value type of the field to index\n    valueType?:\n      | 'string'\n      | 'number'\n      | 'date';\n\n    // Should this index be an alias index?\n    // Alias indexes are used to quickly fetch items by alias\n    alias?: boolean;\n\n    // Should this index be used for sorting?\n    sorting?: boolean;\n\n    // Should this index be used for filtering?\n    filtering?: boolean;\n\n    // Should this index be used for searching?\n    searching?: boolean;\n\n    // Should this index be a guard index?\n    // The value at a guard index's pointer is removed from item data in\n    // responses in token auth mode. The value can still be written\n    // A guard index can't also be used as an alias, or for sorting, filtering\n    // or searching, because each of those would expose the value it hides\n    guard?: boolean;\n\n    // The default order direction for this index\n    defaultOrderDirection?:\n      | 'asc'\n      | 'desc';\n  }\n): Promise<Index>;\n```\n\nExample:\n\n```ts\nconst index: Index = await jsonpad.updateIndex(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6',\n  {\n    name: 'Updated Name',\n    description: 'Updated name index',\n    pathName: 'name',\n    valueType: 'string',\n    alias: false,\n    sorting: true,\n    filtering: true,\n    searching: true,\n    defaultOrderDirection: 'asc',\n  }\n);\n```\n\n### Rebuild an index\n\nStart a new build for an index whose last build failed, once the problem has\nbeen fixed. Returns the index with `buildStatus: 'building'`. Only a failed\nindex can be rebuilt: an index that is ready or already building is refused\nwith `INDEX_BUILD_NOT_FAILED` (16008). See [Index builds](#index-builds).\n\n```ts\nfunction rebuildIndex(\n  listId: string, // The list id or path name\n  indexId: string // The index id or path name\n): Promise<Index>;\n```\n\nExample:\n\n```ts\nconst index: Index = await jsonpad.rebuildIndex(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6'\n);\n```\n\n### Delete an index\n\n```ts\nfunction deleteIndex(\n  listId: string, // The list id or path name\n  indexId: string // The index id or path name\n): Promise<void>;\n```\n\nExample:\n\n```ts\nawait jsonpad.deleteIndex(\n  '3e3ce22b-ec32-4c9d-956b-27ba00f38aa9',\n  '9963146e-aa36-46f9-9f63-497ab9e5d1c6'\n);\n```\n\n### Create an identity\n\n```ts\nfunction createIdentity(\n  data: {\n    // The identity name\n    name: string;\n\n    // A public name for the identity, e.g. to show who created an item\n    // Unlike the name, this isn't used to log in\n    displayName?: string | null;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    tags?: string[];\n\n    // The identity group\n    group?: string;\n\n    // The identity password\n    password: string;\n  }\n): Promise<Identity>;\n```\n\nExample:\n\n```ts\nconst identity: Identity = await jsonpad.createIdentity({\n  name: 'Alice',\n  group: 'my-group',\n  password: 'secret',\n});\n```\n\n### Fetch all identities\n\n```ts\nfunction fetchIdentities(\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of identities per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the identities by this field\n    // Default is createdAt\n    order?: IdentityOrderBy;\n\n    // The order direction\n    // Default is desc for most date fields, asc otherwise\n    direction?: OrderDirection;\n\n    // Filter identities by group (partial match, case-insensitive)\n    group?: string;\n\n    // Filter identities by name (partial match, case-insensitive)\n    name?: string;\n\n    // Filter identities by display name (partial match, case-insensitive)\n    displayName?: string;\n\n    // Only fetch identities with these tags (see Tags). A comma-separated string matches any of the tags,\n    // and an array requires one match from every element\n    tagged?: string | string[];\n  }\n): Promise<PaginatedResponse<Identity>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<Identity> = await jsonpad.fetchIdentities({\n  page: 1,\n  limit: 10,\n  order: 'createdAt',\n  direction: 'desc',\n});\n```\n\n### Fetch an identity\n\n```ts\nfunction fetchIdentity(\n  identityId: string // The identity id\n): Promise<Identity>;\n```\n\nExample:\n\n```ts\nconst identity: Identity = await jsonpad.fetchIdentity(\n  '59b9f5be-06ec-4e5d-8b4c-ab48b0e9bdc0'\n);\n```\n\n### Fetch identity stats\n\n```ts\nfunction fetchIdentityStats(\n  identityId: string, // The identity id\n  parameters: {\n    // The number of days to fetch stats for\n    // Default is 7, max is 90\n    days?: number;\n  }\n): Promise<IdentityStats>;\n```\n\nExample:\n\n```ts\nconst stats: IdentityStats = await jsonpad.fetchIdentityStats(\n  '59b9f5be-06ec-4e5d-8b4c-ab48b0e9bdc0',\n  {\n    days: 7,\n  }\n);\n```\n\n### Fetch identity events\n\n```ts\nfunction fetchIdentityEvents(\n  identityId: string, // The identity id\n  parameters: {\n    // The page number to fetch\n    // Default is 1\n    page?: number;\n\n    // The number of events per page\n    // Default is 20, maximum is 100\n    limit?: number;\n\n    // Sort the events by this field\n    // Default is createdAt\n    order?:\n      | 'createdAt'\n      | 'type';\n\n    // The order direction\n    // Default is desc for most date fields, asc otherwise\n    direction?:\n      | 'asc'\n      | 'desc';\n\n    // Filter events by type\n    type?:\n      | 'identity-created'\n      | 'identity-updated'\n      | 'identity-deleted';\n\n    // Filter for events after this date\n    startAt?: Date;\n\n    // Filter for events before this date\n    endAt?: Date;\n\n    // Include each event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include each event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  }\n): Promise<PaginatedResponse<Event>>;\n```\n\nExample:\n\n```ts\nconst response: PaginatedResponse<Event> = await jsonpad.fetchIdentityEvents(\n  '59b9f5be-06ec-4e5d-8b4c-ab48b0e9bdc0',\n  {\n    page: 1,\n    limit: 10,\n    order: 'createdAt',\n    direction: 'desc',\n    startAt: new Date('2021-01-01'),\n    endAt: new Date('2021-12-31'),\n  }\n);\n```\n\n### Fetch an identity event\n\n```ts\nfunction fetchIdentityEvent(\n  identityId: string, // The identity id\n  eventId: string, // The event id\n  parameters?: {\n    // Include the event's snapshot in the response\n    // Default is false\n    includeSnapshot?: boolean;\n\n    // Include the event's attachments in the response\n    // Default is false\n    includeAttachments?: boolean;\n  }\n): Promise<Event>;\n```\n\nExample:\n\n```ts\nconst event: Event = await jsonpad.fetchIdentityEvent(\n  '59b9f5be-06ec-4e5d-8b4c-ab48b0e9bdc0',\n  'b87aacfb-15b3-43d3-8ffc-a21443ee05f2'\n);\n```\n\n### Update an identity\n\n```ts\nfunction updateIdentity(\n  identityId: string, // The identity id\n  data: {\n    // The identity name\n    name?: string;\n\n    // A public name for the identity, e.g. to show who created an item\n    // Set this to null to remove the display name\n    displayName?: string | null;\n\n    // Tags for grouping related resources, e.g. [\"app-x\", \"production\"]\n    // Tags are lowercase and can only contain a-z, 0-9, - and _ (at most 20 tags, 50 characters each)\n    ta","readmeFilename":"README.md"}