From ed03b774293b18cd1bbbcb333ebeb94c7a692bf2 Mon Sep 17 00:00:00 2001 From: Ben Schmidt Date: Sat, 1 Jun 2024 21:45:18 -0400 Subject: [PATCH] merge baseatlasclass refactor --- .github/workflows/publish-docs.yml | 43 + .gitignore | 1 + package-lock.json | 104 +- package.json | 1 + src/api-raw-types.d.ts | 7494 ++++++++++++++++++++++++++++ src/global.d.ts | 13 + src/organization.ts | 13 +- src/project.ts | 30 +- src/projection.ts | 20 +- src/user.ts | 4 +- typedoc.json | 4 + 11 files changed, 7689 insertions(+), 38 deletions(-) create mode 100644 .github/workflows/publish-docs.yml create mode 100644 src/api-raw-types.d.ts create mode 100644 typedoc.json diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml new file mode 100644 index 0000000..384f96e --- /dev/null +++ b/.github/workflows/publish-docs.yml @@ -0,0 +1,43 @@ +name: Publish TSDoc to GitHub Pages + +permissions: + contents: write + actions: read + checks: write + deployments: write + issues: write + metadata: read + packages: read + pull-requests: write + statuses: write + +on: + push: + branches: + - main + - docs + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install dependencies + run: npm install + + - name: Generate documentation + run: npx typedoc + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs diff --git a/.gitignore b/.gitignore index 19f0649..e0fe817 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ src/openapi.d.ts etc/openapi.json private dist +docs diff --git a/package-lock.json b/package-lock.json index 0b9f7dd..93c21b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@nomic-ai/atlas", - "version": "0.9.4", + "version": "0.9.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@nomic-ai/atlas", - "version": "0.9.4", + "version": "0.9.5", "license": "MIT", "dependencies": { "apache-arrow": "^12.0.1", @@ -34,6 +34,7 @@ "ts-node": "^10.9.1", "ts-node-dev": "^2.0.0", "tsconfig-paths": "^4.2.0", + "typedoc": "^0.25.13", "typescript": "^4.9.5", "uvu": "^0.5.6" } @@ -1701,6 +1702,12 @@ "node": ">=8" } }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -5733,6 +5740,12 @@ "node": ">=6" } }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -5823,6 +5836,12 @@ "yallist": "^3.0.2" } }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -5874,6 +5893,18 @@ "node": ">=0.10.0" } }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7261,6 +7292,18 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -8115,6 +8158,51 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typedoc": { + "version": "0.25.13", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz", + "integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==", + "dev": true, + "dependencies": { + "lunr": "^2.3.9", + "marked": "^4.3.0", + "minimatch": "^9.0.3", + "shiki": "^0.14.7" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/typescript": { "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", @@ -8346,6 +8434,18 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/package.json b/package.json index 3a6da68..31f5356 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "ts-node": "^10.9.1", "ts-node-dev": "^2.0.0", "tsconfig-paths": "^4.2.0", + "typedoc": "^0.25.13", "typescript": "^4.9.5", "uvu": "^0.5.6" }, diff --git a/src/api-raw-types.d.ts b/src/api-raw-types.d.ts new file mode 100644 index 0000000..7f16fcf --- /dev/null +++ b/src/api-raw-types.d.ts @@ -0,0 +1,7494 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + '/v1/health/': { + /** + * Health Check + * @description Runs a health check on this instance of the API. + */ + get: operations['health_check_v1_health__get']; + }; + '/v1/organization/{organization_id_or_slug}': { + /** + * Fetch Organization + * @description Fetches all details about an organization. + * Presents limited amounts of information based on the user's affiliation with the organization. + * Pagination with limit and offset parameters + */ + get: operations['fetch_organization_v1_organization__organization_id_or_slug__get']; + }; + '/v1/organization/{organization_id_or_slug}/usage': { + /** + * Fetch Organization Usage + * @description Computes the organization usage in the past 1 month. + * + * since_last_billing_date: If True and organization is on a paid tier, only returns usage after the last billing date. + */ + get: operations['fetch_organization_usage_v1_organization__organization_id_or_slug__usage_get']; + }; + '/v1/organization/search/{organization_nickname_or_slug}': { + /** + * Fetch Organization Id By Nickname + * @description Fetches all details about an organization. + * Presents limited amounts of information based on the user's affiliation with the organization. + */ + get: operations['fetch_organization_id_by_nickname_v1_organization_search__organization_nickname_or_slug__get']; + }; + '/v1/organization/rename': { + /** + * Update Organization Data + * @description Changes the organization nickname given the organization ID + */ + post: operations['update_organization_data_v1_organization_rename_post']; + }; + '/v1/organization/update': { + /** + * Update Organization Data + * @description Changes the organization nickname given the organization ID + */ + post: operations['update_organization_data_v1_organization_update_post']; + }; + '/v1/organization/create': { + /** + * Create Organization + * @description Creates an organization on the free tier and sets the owner to the user sending the request. + */ + post: operations['create_organization_v1_organization_create_post']; + }; + '/v1/organization/search': { + /** + * Search User + * @description Search user by nickname who is not already in organization + */ + post: operations['search_user_v1_organization_search_post']; + }; + '/v1/organization/members/add': { + /** + * Add Organization Member + * @description Adds a user to an organization + */ + post: operations['add_organization_member_v1_organization_members_add_post']; + }; + '/v1/organization/members/delete': { + /** + * Remove Organization Member + * @description Removes a user from an organization. + */ + post: operations['remove_organization_member_v1_organization_members_delete_post']; + }; + '/v1/organization/members/remove': { + /** + * Remove Organization Member + * @deprecated + * @description Removes a user from an organization. + */ + post: operations['remove_organization_member_v1_organization_members_remove_post']; + }; + '/v1/organization/members/update': { + /** + * Modify Organization Member + * @description Modifies a user in an organization + */ + post: operations['modify_organization_member_v1_organization_members_update_post']; + }; + '/v1/organization/members/modify': { + /** + * Modify Organization Member + * @deprecated + * @description Modifies a user in an organization + */ + post: operations['modify_organization_member_v1_organization_members_modify_post']; + }; + '/v1/organization/member/invite': { + /** + * Deprecated Invite Member In Organization + * @deprecated + * @description Invites a user in an organization + */ + post: operations['deprecated_invite_member_in_organization_v1_organization_member_invite_post']; + }; + '/v1/organization/members/invite': { + /** + * Invite Member In Organization + * @description Invites a user in an organization + */ + post: operations['invite_member_in_organization_v1_organization_members_invite_post']; + }; + '/v1/organization/invitations': { + /** + * Get Organization Invitations + * @description Get organization invitations for user + */ + post: operations['get_organization_invitations_v1_organization_invitations_post']; + }; + '/v1/organization/invitation/{invitation_id}/accept': { + /** + * Accept Organization Invitation + * @description Accepts an invitation to join an organization + */ + post: operations['accept_organization_invitation_v1_organization_invitation__invitation_id__accept_post']; + }; + '/v1/organization/invitation/{invitation_id}/reject': { + /** + * Reject Organization Invitation + * @description Rejects an invitation to join an organization + */ + post: operations['reject_organization_invitation_v1_organization_invitation__invitation_id__reject_post']; + }; + '/v1/organization/invitation/status': { + /** + * Update Invitation Status + * @deprecated + * @description Accept or reject invitation + */ + post: operations['update_invitation_status_v1_organization_invitation_status_post']; + }; + '/v1/organization/invitations/pending': { + /** + * Get Organization Pending Invitations + * @description Get organization pending invitations + */ + post: operations['get_organization_pending_invitations_v1_organization_invitations_pending_post']; + }; + '/v1/organization/invitations/delete': { + /** + * Remove Pending Invitation + * @description Delete pending invitation + */ + post: operations['remove_pending_invitation_v1_organization_invitations_delete_post']; + }; + '/v1/user/': { + /** Fetch Current User */ + get: operations['fetch_current_user_v1_user__get']; + }; + '/v1/user/authorization/keys/{organization_id}/create': { + /** Create Api Key */ + post: operations['create_api_key_v1_user_authorization_keys__organization_id__create_post']; + }; + '/v1/user/authorization/keys/{organization_id}/delete': { + /** Delete Api Key */ + post: operations['delete_api_key_v1_user_authorization_keys__organization_id__delete_post']; + }; + '/v1/user/authorization/keys/{organization_id}': { + /** Get Api Keys */ + get: operations['get_api_keys_v1_user_authorization_keys__organization_id__get']; + }; + '/v1/user/token': { + /** Auth0 Obtain Token From Code */ + post: operations['auth0_obtain_token_from_code_v1_user_token_post']; + }; + '/v1/user/token/refresh/{refresh_token}': { + /** Auth0 Obtain Token From Refresh */ + get: operations['auth0_obtain_token_from_refresh_v1_user_token_refresh__refresh_token__get']; + }; + '/v1/user/authorize': { + /** Auth0 Authorize Redirect */ + get: operations['auth0_authorize_redirect_v1_user_authorize_get']; + }; + '/v1/user/logout': { + /** Logout */ + get: operations['logout_v1_user_logout_get']; + }; + '/v1/project/{project_id}': { + /** + * Fetch Project + * @description Fetches all details about a project. + */ + get: operations['fetch_project_v1_project__project_id__get']; + }; + '/v1/project/hub/gallery': { + /** + * Fetch Project Gallery + * @description Fetches all projects in the gallery + */ + get: operations['fetch_project_gallery_v1_project_hub_gallery_get']; + }; + '/v1/project/sidebar/list': { + /** + * Fetch All Project + * @deprecated + * @description Fetches all project for authenticated user. + */ + get: operations['fetch_all_project_v1_project_sidebar_list_get']; + }; + '/v1/project/': { + /** + * Fetch All Project + * @description Fetches all project for authenticated user. + */ + get: operations['fetch_all_project_v1_project__get']; + }; + '/v1/project/update': { + /** + * Update Project Metadata + * @description Edit project metadata. + */ + post: operations['update_project_metadata_v1_project_update_post']; + }; + '/v1/project/update/{project_id}': { + /** + * Update Project Metadata + * @description Edit project metadata. + */ + post: operations['update_project_metadata_v1_project_update__project_id__post']; + }; + '/v1/project/search/vector': { + /** Search Semantic */ + post: operations['search_semantic_v1_project_search_vector_post']; + }; + '/v1/project/search/id': { + /** Search Semantic Id */ + get: operations['search_semantic_id_v1_project_search_id_get']; + }; + '/v1/project/search/name': { + /** Project Name Search */ + post: operations['project_name_search_v1_project_search_name_post']; + }; + '/v1/project/create': { + /** + * Create New Project + * @description Create a project associated with an organization. + */ + post: operations['create_new_project_v1_project_create_post']; + }; + '/v1/project/remove': { + /** + * Remove A Project + * @description Remove a project associated with an organization. + * Additionally, kick off background tasks to remove other projects that are not fully deleted. + */ + post: operations['remove_a_project_v1_project_remove_post']; + }; + '/v1/project/index/remove': { + /** + * Remove A Index + * @description Remove an index + */ + post: operations['remove_a_index_v1_project_index_remove_post']; + }; + '/v1/project/update_indices': { + /** + * Update Project Indices + * @deprecated + * @description Updates the indices in a project that has unindexed progressively added data + */ + post: operations['update_project_indices_v1_project_update_indices_post']; + }; + '/v1/project/data/delete': { + /** + * Data Delete + * @description Deletes datums and corresponding atoms from the project. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + post: operations['data_delete_v1_project_data_delete_post']; + }; + '/v1/project/data/update': { + /** + * Data Update + * @description Updates the requested datums. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + post: operations['data_update_v1_project_data_update_post']; + }; + '/v1/project/data/get/arrow': { + /** + * Data Get Arrow + * @description Export data as arrow format for a project and/or index + */ + post: operations['data_get_arrow_v1_project_data_get_arrow_post']; + }; + '/v1/project/data/add/arrow': { + /** + * Add Arrow + * @description Add data to a project in arrow format. + */ + post: operations['add_arrow_v1_project_data_add_arrow_post']; + }; + '/v1/project/data/add/blobs': { + /** + * Add Blob + * @description Add blob to S3 for usage within a map + */ + post: operations['add_blob_v1_project_data_add_blobs_post']; + }; + '/v1/project/data/get/blob/{dataset_id}/{blob_hash}': { + /** Data Get Blob */ + get: operations['data_get_blob_v1_project_data_get_blob__dataset_id___blob_hash__get']; + }; + '/v1/project/data/get/nearest_neighbors/by_embedding': { + /** Nearest Neighbors By Embedding */ + post: operations['nearest_neighbors_by_embedding_v1_project_data_get_nearest_neighbors_by_embedding_post']; + }; + '/v1/project/data/get/arrow/nearest_neighbors/by_id': { + /** Nearest Neighbors By Ids Arrow */ + post: operations['nearest_neighbors_by_ids_arrow_v1_project_data_get_arrow_nearest_neighbors_by_id_post']; + }; + '/v1/project/data/get/nearest_neighbors/by_id': { + /** Nearest Neighbors By Ids */ + post: operations['nearest_neighbors_by_ids_v1_project_data_get_nearest_neighbors_by_id_post']; + }; + '/v1/project/data/get/embedding/topic': { + /** Data Topic Query */ + post: operations['data_topic_query_v1_project_data_get_embedding_topic_post']; + }; + '/v1/project/data/get/embedding/paged': { + /** + * Get Embedding Page Endpoint + * @description Get a page of embedding data for a project + */ + post: operations['get_embedding_page_endpoint_v1_project_data_get_embedding_paged_post']; + }; + '/v1/project/data/get': { + /** Get Datums By Ids External */ + post: operations['get_datums_by_ids_external_v1_project_data_get_post']; + }; + '/v1/project/atoms/get': { + /** Atoms Get */ + post: operations['atoms_get_v1_project_atoms_get_post']; + }; + '/v1/project/index/create': { + /** + * Create Index + * @description Creates an index and returns the job id of the index creation job. + */ + post: operations['create_index_v1_project_index_create_post']; + }; + '/v1/project/index/job/{job_id}': { + /** + * Fetch Index Job + * @description Fetches an index job to the front-end. + */ + get: operations['fetch_index_job_v1_project_index_job__job_id__get']; + }; + '/v1/project/index/job/progress/{index_id}': { + /** + * Fetch Job Progress + * @description Fetches latest job data by index id. + */ + get: operations['fetch_job_progress_v1_project_index_job_progress__index_id__get']; + }; + '/v1/project/jobs/status/{index_id}': { + /** + * Fetch Job System State + * @description Gets the state of the job system for a particular atlas index. + */ + get: operations['fetch_job_system_state_v1_project_jobs_status__index_id__get']; + }; + '/v1/project/{project_id}/index/projection/{projection_id}/quadtree/manifest.feather': { + /** Quadtree Manifest */ + get: operations['quadtree_manifest_v1_project__project_id__index_projection__projection_id__quadtree_manifest_feather_get']; + }; + '/v1/project/{project_id}/index/projection/{projection_id}/quadtree/{quadtree_key}': { + /** + * Fetch Quadtree Tile + * @description Fetches a quadtree tile to the front-end. + */ + get: operations['fetch_quadtree_tile_v1_project__project_id__index_projection__projection_id__quadtree__quadtree_key__get']; + /** Fetch Quadtree Tile With Payload */ + post: operations['fetch_quadtree_tile_with_payload_v1_project__project_id__index_projection__projection_id__quadtree__quadtree_key__post']; + }; + '/v1/project/projection/{projection_id}/schema': { + /** Fetch Schema */ + get: operations['fetch_schema_v1_project_projection__projection_id__schema_get']; + }; + '/v1/project/{atlas_index_id}/topic_density': { + /** Topic Density */ + post: operations['topic_density_v1_project__atlas_index_id__topic_density_post']; + }; + '/v1/project/{project_id}/index/projection/{projection_id}': { + /** + * Fetch Map Information + * @description Fetches all information about a map such as topics, defaults, etc. + */ + get: operations['fetch_map_information_v1_project__project_id__index_projection__projection_id__get']; + }; + '/v1/project/tag/add': { + /** + * Add Tag + * @description Adds tag labels to atoms or datums. + * If column names contains a field called 'type' which equals datum_ids, interprets the column as datum_ids. + */ + post: operations['add_tag_v1_project_tag_add_post']; + }; + '/v1/project/tag/delete': { + /** + * Delete Atom Tag + * @description Given tag labels and atom ids, deletes atom id associations to those labels. + */ + post: operations['delete_atom_tag_v1_project_tag_delete_post']; + }; + '/v1/project/tag/read': { + /** + * Read Atom Tag + * @description Given tag labels, returns back map positions and ids + */ + post: operations['read_atom_tag_v1_project_tag_read_post']; + }; + '/v1/project/tag/read/all_by_datum': { + /** + * Read Atom Tag By Datums + * @description Reads all tags associated with datums. + */ + post: operations['read_atom_tag_by_datums_v1_project_tag_read_all_by_datum_post']; + }; + '/v1/project/tag/list': { + /** + * List Unique Atom Tags By Index + * @description Lists all unique atom tags that have been added to an index + */ + post: operations['list_unique_atom_tags_by_index_v1_project_tag_list_post']; + }; + '/v1/project/projection/alias/{projection_alias}': { + /** + * Fetch Projection Alias + * @description Fetches project id and projection id from an alias. + */ + get: operations['fetch_projection_alias_v1_project_projection_alias__projection_alias__get']; + }; + '/v1/project/projection/alias/edit/{project_id}': { + /** + * Update Projection Alias + * @description Edit or add projection alias. + */ + post: operations['update_projection_alias_v1_project_projection_alias_edit__project_id__post']; + }; + '/v1/project/projection/alias/get/{project_id}': { + /** + * Fetch Projection Alias By Projection Id + * @description Get projection alias by projection id. + */ + post: operations['fetch_projection_alias_by_projection_id_v1_project_projection_alias_get__project_id__post']; + }; + '/v1/project/topics/update/{topic_model_id}': { + /** + * Update Topic Model + * @description Updates a topic model geojson with updates to topic position or topic label. + * Currently accomplishes this by accepting an entirely new geojson and replacing + * existing one. Will eventually be more granular than that. + */ + post: operations['update_topic_model_v1_project_topics_update__topic_model_id__post']; + }; + '/v1/project/search/user': { + /** + * Search User + * @description Searches against users by nickname and email who are non in the organization of the user performing search. + * This endpoint is used when attempting to invite users to an organization. + */ + post: operations['search_user_v1_project_search_user_post']; + }; + '/v1/project/{organization_slug}/project/{project_slug}': { + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + get: operations['fetch_project_by_slug_v1_project__organization_slug__project__project_slug__get']; + }; + '/v1/project/{organization_slug}/{project_slug}': { + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + get: operations['fetch_project_by_slug_v1_project__organization_slug___project_slug__get']; + }; + '/v1/project/projection/{projection_id}/view/{state_hash}': { + /** + * Fetch Projection View From Hash + * @description Fetches state-view variables for a projection. + */ + get: operations['fetch_projection_view_from_hash_v1_project_projection__projection_id__view__state_hash__get']; + }; + '/v1/project/projection/{projection_id}/view': { + /** + * Create Hash + * @description sets a projection state on a project + */ + post: operations['create_hash_v1_project_projection__projection_id__view_post']; + }; + '/v1/project/{dataset_id}/members': { + /** + * Get Dataset Members + * @description Fetches all dataset members + */ + get: operations['get_dataset_members_v1_project__dataset_id__members_get']; + }; + '/v1/project/{dataset_id}/members/add': { + /** + * Add Dataset Member + * @description Add a dataset member + */ + post: operations['add_dataset_member_v1_project__dataset_id__members_add_post']; + }; + '/v1/project/{dataset_id}/members/delete': { + /** + * Remove Dataset Member + * @description Remove a dataset member + */ + post: operations['remove_dataset_member_v1_project__dataset_id__members_delete_post']; + }; + '/v1/project/{dataset_id}/members/update': { + /** + * Update Dataset Member + * @description Update a dataset member role + */ + post: operations['update_dataset_member_v1_project__dataset_id__members_update_post']; + }; + '/v1/dataset/project/{project_id}': { + /** + * Fetch Project + * @description Fetches all details about a project. + */ + get: operations['fetch_project_v1_dataset_project__project_id__get']; + }; + '/v1/dataset/project/hub/gallery': { + /** + * Fetch Project Gallery + * @description Fetches all projects in the gallery + */ + get: operations['fetch_project_gallery_v1_dataset_project_hub_gallery_get']; + }; + '/v1/dataset/project/sidebar/list': { + /** + * Fetch All Project + * @deprecated + * @description Fetches all project for authenticated user. + */ + get: operations['fetch_all_project_v1_dataset_project_sidebar_list_get']; + }; + '/v1/dataset/project/': { + /** + * Fetch All Project + * @description Fetches all project for authenticated user. + */ + get: operations['fetch_all_project_v1_dataset_project__get']; + }; + '/v1/dataset/project/update': { + /** + * Update Project Metadata + * @description Edit project metadata. + */ + post: operations['update_project_metadata_v1_dataset_project_update_post']; + }; + '/v1/dataset/project/update/{project_id}': { + /** + * Update Project Metadata + * @description Edit project metadata. + */ + post: operations['update_project_metadata_v1_dataset_project_update__project_id__post']; + }; + '/v1/dataset/project/search/vector': { + /** Search Semantic */ + post: operations['search_semantic_v1_dataset_project_search_vector_post']; + }; + '/v1/dataset/project/search/id': { + /** Search Semantic Id */ + get: operations['search_semantic_id_v1_dataset_project_search_id_get']; + }; + '/v1/dataset/project/search/name': { + /** Project Name Search */ + post: operations['project_name_search_v1_dataset_project_search_name_post']; + }; + '/v1/dataset/project/create': { + /** + * Create New Project + * @description Create a project associated with an organization. + */ + post: operations['create_new_project_v1_dataset_project_create_post']; + }; + '/v1/dataset/project/remove': { + /** + * Remove A Project + * @description Remove a project associated with an organization. + * Additionally, kick off background tasks to remove other projects that are not fully deleted. + */ + post: operations['remove_a_project_v1_dataset_project_remove_post']; + }; + '/v1/dataset/project/index/remove': { + /** + * Remove A Index + * @description Remove an index + */ + post: operations['remove_a_index_v1_dataset_project_index_remove_post']; + }; + '/v1/dataset/project/update_indices': { + /** + * Update Project Indices + * @deprecated + * @description Updates the indices in a project that has unindexed progressively added data + */ + post: operations['update_project_indices_v1_dataset_project_update_indices_post']; + }; + '/v1/dataset/project/data/delete': { + /** + * Data Delete + * @description Deletes datums and corresponding atoms from the project. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + post: operations['data_delete_v1_dataset_project_data_delete_post']; + }; + '/v1/dataset/project/data/update': { + /** + * Data Update + * @description Updates the requested datums. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + post: operations['data_update_v1_dataset_project_data_update_post']; + }; + '/v1/dataset/project/data/get/arrow': { + /** + * Data Get Arrow + * @description Export data as arrow format for a project and/or index + */ + post: operations['data_get_arrow_v1_dataset_project_data_get_arrow_post']; + }; + '/v1/dataset/project/data/add/arrow': { + /** + * Add Arrow + * @description Add data to a project in arrow format. + */ + post: operations['add_arrow_v1_dataset_project_data_add_arrow_post']; + }; + '/v1/dataset/project/data/add/blobs': { + /** + * Add Blob + * @description Add blob to S3 for usage within a map + */ + post: operations['add_blob_v1_dataset_project_data_add_blobs_post']; + }; + '/v1/dataset/project/data/get/blob/{dataset_id}/{blob_hash}': { + /** Data Get Blob */ + get: operations['data_get_blob_v1_dataset_project_data_get_blob__dataset_id___blob_hash__get']; + }; + '/v1/dataset/project/data/get/nearest_neighbors/by_embedding': { + /** Nearest Neighbors By Embedding */ + post: operations['nearest_neighbors_by_embedding_v1_dataset_project_data_get_nearest_neighbors_by_embedding_post']; + }; + '/v1/dataset/project/data/get/arrow/nearest_neighbors/by_id': { + /** Nearest Neighbors By Ids Arrow */ + post: operations['nearest_neighbors_by_ids_arrow_v1_dataset_project_data_get_arrow_nearest_neighbors_by_id_post']; + }; + '/v1/dataset/project/data/get/nearest_neighbors/by_id': { + /** Nearest Neighbors By Ids */ + post: operations['nearest_neighbors_by_ids_v1_dataset_project_data_get_nearest_neighbors_by_id_post']; + }; + '/v1/dataset/project/data/get/embedding/topic': { + /** Data Topic Query */ + post: operations['data_topic_query_v1_dataset_project_data_get_embedding_topic_post']; + }; + '/v1/dataset/project/data/get/embedding/paged': { + /** + * Get Embedding Page Endpoint + * @description Get a page of embedding data for a project + */ + post: operations['get_embedding_page_endpoint_v1_dataset_project_data_get_embedding_paged_post']; + }; + '/v1/dataset/project/data/get': { + /** Get Datums By Ids External */ + post: operations['get_datums_by_ids_external_v1_dataset_project_data_get_post']; + }; + '/v1/dataset/project/atoms/get': { + /** Atoms Get */ + post: operations['atoms_get_v1_dataset_project_atoms_get_post']; + }; + '/v1/dataset/project/index/create': { + /** + * Create Index + * @description Creates an index and returns the job id of the index creation job. + */ + post: operations['create_index_v1_dataset_project_index_create_post']; + }; + '/v1/dataset/project/index/job/{job_id}': { + /** + * Fetch Index Job + * @description Fetches an index job to the front-end. + */ + get: operations['fetch_index_job_v1_dataset_project_index_job__job_id__get']; + }; + '/v1/dataset/project/index/job/progress/{index_id}': { + /** + * Fetch Job Progress + * @description Fetches latest job data by index id. + */ + get: operations['fetch_job_progress_v1_dataset_project_index_job_progress__index_id__get']; + }; + '/v1/dataset/project/jobs/status/{index_id}': { + /** + * Fetch Job System State + * @description Gets the state of the job system for a particular atlas index. + */ + get: operations['fetch_job_system_state_v1_dataset_project_jobs_status__index_id__get']; + }; + '/v1/dataset/project/{project_id}/index/projection/{projection_id}/quadtree/manifest.feather': { + /** Quadtree Manifest */ + get: operations['quadtree_manifest_v1_dataset_project__project_id__index_projection__projection_id__quadtree_manifest_feather_get']; + }; + '/v1/dataset/project/{project_id}/index/projection/{projection_id}/quadtree/{quadtree_key}': { + /** + * Fetch Quadtree Tile + * @description Fetches a quadtree tile to the front-end. + */ + get: operations['fetch_quadtree_tile_v1_dataset_project__project_id__index_projection__projection_id__quadtree__quadtree_key__get']; + /** Fetch Quadtree Tile With Payload */ + post: operations['fetch_quadtree_tile_with_payload_v1_dataset_project__project_id__index_projection__projection_id__quadtree__quadtree_key__post']; + }; + '/v1/dataset/project/projection/{projection_id}/schema': { + /** Fetch Schema */ + get: operations['fetch_schema_v1_dataset_project_projection__projection_id__schema_get']; + }; + '/v1/dataset/project/{atlas_index_id}/topic_density': { + /** Topic Density */ + post: operations['topic_density_v1_dataset_project__atlas_index_id__topic_density_post']; + }; + '/v1/dataset/project/{project_id}/index/projection/{projection_id}': { + /** + * Fetch Map Information + * @description Fetches all information about a map such as topics, defaults, etc. + */ + get: operations['fetch_map_information_v1_dataset_project__project_id__index_projection__projection_id__get']; + }; + '/v1/dataset/project/tag/add': { + /** + * Add Tag + * @description Adds tag labels to atoms or datums. + * If column names contains a field called 'type' which equals datum_ids, interprets the column as datum_ids. + */ + post: operations['add_tag_v1_dataset_project_tag_add_post']; + }; + '/v1/dataset/project/tag/delete': { + /** + * Delete Atom Tag + * @description Given tag labels and atom ids, deletes atom id associations to those labels. + */ + post: operations['delete_atom_tag_v1_dataset_project_tag_delete_post']; + }; + '/v1/dataset/project/tag/read': { + /** + * Read Atom Tag + * @description Given tag labels, returns back map positions and ids + */ + post: operations['read_atom_tag_v1_dataset_project_tag_read_post']; + }; + '/v1/dataset/project/tag/read/all_by_datum': { + /** + * Read Atom Tag By Datums + * @description Reads all tags associated with datums. + */ + post: operations['read_atom_tag_by_datums_v1_dataset_project_tag_read_all_by_datum_post']; + }; + '/v1/dataset/project/tag/list': { + /** + * List Unique Atom Tags By Index + * @description Lists all unique atom tags that have been added to an index + */ + post: operations['list_unique_atom_tags_by_index_v1_dataset_project_tag_list_post']; + }; + '/v1/dataset/project/projection/alias/{projection_alias}': { + /** + * Fetch Projection Alias + * @description Fetches project id and projection id from an alias. + */ + get: operations['fetch_projection_alias_v1_dataset_project_projection_alias__projection_alias__get']; + }; + '/v1/dataset/project/projection/alias/edit/{project_id}': { + /** + * Update Projection Alias + * @description Edit or add projection alias. + */ + post: operations['update_projection_alias_v1_dataset_project_projection_alias_edit__project_id__post']; + }; + '/v1/dataset/project/projection/alias/get/{project_id}': { + /** + * Fetch Projection Alias By Projection Id + * @description Get projection alias by projection id. + */ + post: operations['fetch_projection_alias_by_projection_id_v1_dataset_project_projection_alias_get__project_id__post']; + }; + '/v1/dataset/project/topics/update/{topic_model_id}': { + /** + * Update Topic Model + * @description Updates a topic model geojson with updates to topic position or topic label. + * Currently accomplishes this by accepting an entirely new geojson and replacing + * existing one. Will eventually be more granular than that. + */ + post: operations['update_topic_model_v1_dataset_project_topics_update__topic_model_id__post']; + }; + '/v1/dataset/project/search/user': { + /** + * Search User + * @description Searches against users by nickname and email who are non in the organization of the user performing search. + * This endpoint is used when attempting to invite users to an organization. + */ + post: operations['search_user_v1_dataset_project_search_user_post']; + }; + '/v1/dataset/project/{organization_slug}/project/{project_slug}': { + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + get: operations['fetch_project_by_slug_v1_dataset_project__organization_slug__project__project_slug__get']; + }; + '/v1/dataset/project/{organization_slug}/{project_slug}': { + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + get: operations['fetch_project_by_slug_v1_dataset_project__organization_slug___project_slug__get']; + }; + '/v1/dataset/project/projection/{projection_id}/view/{state_hash}': { + /** + * Fetch Projection View From Hash + * @description Fetches state-view variables for a projection. + */ + get: operations['fetch_projection_view_from_hash_v1_dataset_project_projection__projection_id__view__state_hash__get']; + }; + '/v1/dataset/project/projection/{projection_id}/view': { + /** + * Create Hash + * @description sets a projection state on a project + */ + post: operations['create_hash_v1_dataset_project_projection__projection_id__view_post']; + }; + '/v1/dataset/project/{dataset_id}/members': { + /** + * Get Dataset Members + * @description Fetches all dataset members + */ + get: operations['get_dataset_members_v1_dataset_project__dataset_id__members_get']; + }; + '/v1/dataset/project/{dataset_id}/members/add': { + /** + * Add Dataset Member + * @description Add a dataset member + */ + post: operations['add_dataset_member_v1_dataset_project__dataset_id__members_add_post']; + }; + '/v1/dataset/project/{dataset_id}/members/delete': { + /** + * Remove Dataset Member + * @description Remove a dataset member + */ + post: operations['remove_dataset_member_v1_dataset_project__dataset_id__members_delete_post']; + }; + '/v1/dataset/project/{dataset_id}/members/update': { + /** + * Update Dataset Member + * @description Update a dataset member role + */ + post: operations['update_dataset_member_v1_dataset_project__dataset_id__members_update_post']; + }; + '/v1/stripe/subscribe': { + /** + * Stripe Subscription + * @description Create stripe subscription checkout session url and send it to front end + */ + post: operations['stripe_subscription_v1_stripe_subscribe_post']; + }; + '/v1/stripe/set_organization_limits': { + /** + * Set Organization Billing Limits + * @description Sets the organization billing limits + */ + post: operations['set_organization_billing_limits_v1_stripe_set_organization_limits_post']; + }; + '/v1/stripe/cancel': { + /** + * Cancel Stripe Subscription + * @description Create stripe subscription checkout session url and send it to front end + */ + post: operations['cancel_stripe_subscription_v1_stripe_cancel_post']; + }; + '/v1/stripe/webhook': { + /** + * Webhook Received + * @description Monitor stripe webhook triggered events + */ + post: operations['webhook_received_v1_stripe_webhook_post']; + }; + '/v1/embedding/text': { + /** + * Embed Text + * @description Generates text embeddings + */ + post: operations['embed_text_v1_embedding_text_post']; + }; + '/v1/project/projection/tags/create': { + /** Create Tag Request */ + post: operations['create_tag_request_v1_project_projection_tags_create_post']; + }; + '/v1/project/projection/tags/update/mask': { + /** Tag Mask Request */ + post: operations['tag_mask_request_v1_project_projection_tags_update_mask_post']; + }; + '/v1/project/projection/tags/delete': { + /** Delete Tag Request */ + post: operations['delete_tag_request_v1_project_projection_tags_delete_post']; + }; + '/v1/project/projection/tags/update': { + /** Update Tag Request */ + post: operations['update_tag_request_v1_project_projection_tags_update_post']; + }; + '/v1/project/projection/tags/get': { + /** Get Tag Request */ + get: operations['get_tag_request_v1_project_projection_tags_get_get']; + }; + '/v1/project/projection/tags/get/all': { + /** Get Tags In Projection Request */ + get: operations['get_tags_in_projection_request_v1_project_projection_tags_get_all_get']; + }; + '/v1/project/projection/tags/status': { + /** Get Tag Status */ + get: operations['get_tag_status_v1_project_projection_tags_status_get']; + }; + '/v1/project/projection/tags/robotag': { + /** Tag Projection Job Request */ + post: operations['tag_projection_job_request_v1_project_projection_tags_robotag_post']; + }; + '/v1/reduce/': { + /** Reduce Dimensionality By Embedding */ + post: operations['reduce_dimensionality_by_embedding_v1_reduce__post']; + }; +} + +export type webhooks = Record; + +export interface components { + schemas: { + /** APIKeyCreationRequest */ + APIKeyCreationRequest: { + /** + * Key Name + * @description The name of the key to create. + */ + key_name: string; + }; + /** APIKeyCreationResponse */ + APIKeyCreationResponse: { + /** + * Key + * @description The API key that was created + */ + key: string; + }; + /** APIKeyDeletionRequest */ + APIKeyDeletionRequest: { + /** + * Key Name + * @description The name of the key to deleted. + */ + key_name: string; + }; + /** APIKeyListItem */ + APIKeyListItem: { + /** Key Name */ + key_name: string; + /** + * Expiration + * Format: date-time + */ + expiration: string; + /** + * Creation + * Format: date-time + */ + creation: string; + /** Suffix */ + suffix: string; + }; + /** APIKeyListResponse */ + APIKeyListResponse: { + /** + * Keys + * @default [] + */ + keys?: components['schemas']['APIKeyListItem'][]; + }; + /** + * AccessRole + * @description An enumeration. + * @enum {string} + */ + AccessRole: 'OWNER' | 'ADMIN' | 'MEMBER' | 'VIEWER' | 'EXTERNAL' | 'NONE'; + /** AddBlobResponse */ + AddBlobResponse: { + /** + * Hashes + * @description The hashes of the blobs + */ + hashes: string[]; + }; + /** AddUserRequest */ + AddUserRequest: { + /** + * User Id + * @description Unique user id + * @example auth0|12345678 + */ + user_id: string; + /** + * @description The access role the new user should have: MEMBER, ADMIN, OWNER + * @example MEMBER + */ + access_role: components['schemas']['AccessRole']; + /** + * Organization Id + * Format: uuid + * @description Unique organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** AtlasIndex */ + AtlasIndex: { + /** + * Id + * Format: uuid + * @description Index ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Project Id + * Format: uuid + * @description The project this index belongs to + * @example 43adcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + /** + * Index Name + * @description The name of the index + * @example My Test Index + */ + index_name: string; + /** + * Indexed Field + * @description The field that was indexed in the datums. + */ + indexed_field: string; + /** + * Created Timestamp + * Format: date-time + * @description The timestamp this index was created. + */ + created_timestamp: string; + /** + * Updated Timestamp + * Format: date-time + * @description The timestamp this indx was updated. + */ + updated_timestamp: string; + /** + * Atoms + * @description All of the atoms in this index. + */ + atoms: string[]; + /** + * Colorable Fields + * @description The fields that can be colored by. + */ + colorable_fields: string[]; + /** + * Embedders + * @description The embedder this Atlas Index uses. + */ + embedders: components['schemas']['Embedder'][]; + /** + * Nearest Neighbor Indices + * @description The nearest neighbor index this Atlas Index uses. + */ + nearest_neighbor_indices: components['schemas']['NearestNeighborIndex'][]; + /** + * Projections + * @description The nearest neighbor index this Atlas Index uses. + */ + projections: components['schemas']['Projection'][]; + }; + /** AtlasUsageResponse */ + AtlasUsageResponse: { + /** + * Usage Since Date + * Format: date-time + * @description The start date this usage record represents + */ + usage_since_date: string; + /** + * Public Datapoints + * @description The number of public datapoints used. + */ + public_datapoints: number; + /** + * Private Datapoints + * @description The number of private datapoints used. + */ + private_datapoints: number; + /** + * Organization Seats + * @description The number of organization seats currently used. + */ + organization_seats: number; + /** Embedding Models */ + embedding_models: components['schemas']['EmbeddingModelInferenceUsage'][]; + }; + /** AtomTagAllByDatumRequest */ + AtomTagAllByDatumRequest: { + /** + * Project Id + * Format: uuid + * @description The id of the project + */ + project_id: string; + }; + /** AtomTagAllByDatumResponse */ + AtomTagAllByDatumResponse: { + /** + * Results + * @description Maps datum ids to all annotated labels. + */ + results: components['schemas']['DatumTagResponse'][]; + }; + /** AtomTagListRequest */ + AtomTagListRequest: { + /** + * Project Id + * Format: uuid + * @description The id of the project + */ + project_id: string; + /** + * Atlas Index Id + * Format: uuid + * @description The atlas index id, if atom_ids are provided + * @example 4addcf85-84ed-4e3a-9519-17c72682f905 + */ + atlas_index_id: string; + /** + * Atom Ids + * @description An optional list of atom_ids to restrict to, if passed + */ + atom_ids?: string[]; + }; + /** AtomTagReadRequest */ + AtomTagReadRequest: { + /** + * Project Id + * Format: uuid + * @description The id of the project + */ + project_id: string; + /** + * Atlas Index Id + * Format: uuid + * @description The atlas index id, if atom_ids are provided + * @example 4addcf85-84ed-4e3a-9519-17c72682f905 + */ + atlas_index_id: string; + /** + * Projection Id + * Format: uuid + * @description The projection you are performing this request for + * @example 4addcf85-84ed-4e3a-9519-17c72682f905 + */ + projection_id: string; + /** + * Labels + * @description The list of labels to retrieve + */ + labels: string[]; + }; + /** AtomTagReadResponse */ + AtomTagReadResponse: { + /** + * Results + * @description The map coordinates, tile id, tile offset and list of tags associated of each result. + */ + results: components['schemas']['AtomTagResult'][]; + }; + /** AtomTagResult */ + AtomTagResult: { + /** + * Atom Id + * @description The atom id. + */ + atom_id: string; + /** + * Map Position + * @description Map x,y of the result + */ + map_position: unknown[]; + /** + * Map Quadtile Id + * @description The id of the quadtile the result is in. + */ + map_quadtile_id: string; + /** + * Map Quadtile Offset + * @description The offset into the quadtile. + */ + map_quadtile_offset: string; + /** + * Labels + * @description The set of labels associated with this atom. + */ + labels: string[]; + }; + /** AtomTagUniqueListEntry */ + AtomTagUniqueListEntry: { + /** + * Label + * @description The text of the labels + */ + label: string; + /** + * Frequency + * @description The number of datums with this tag. + */ + frequency: number; + }; + /** AtomTagUniqueListResponse */ + AtomTagUniqueListResponse: { + /** + * Labels + * @description The list of tags to retrieve + */ + labels: components['schemas']['AtomTagUniqueListEntry'][]; + }; + /** AtomsRequest */ + AtomsRequest: { + /** + * Project Id + * Format: uuid + * @description Unique project id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + /** + * Index Id + * Format: uuid + * @description Unique index id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + index_id: string; + /** + * Atom Ids + * @description List of strings corresponding to ids of atoms to get + */ + atom_ids: string[]; + }; + /** AtomsResponse */ + AtomsResponse: { + /** + * Atoms + * @description The data for each atom, keyed by its atom_id + */ + atoms: Record; + }; + /** BaseModel */ + BaseModel: Record; + /** Body_add_blob_v1_dataset_project_data_add_blobs_post */ + Body_add_blob_v1_dataset_project_data_add_blobs_post: { + /** + * Dataset Id + * @description The ID of the project. + */ + dataset_id: string; + /** + * Content Type + * @description The content types of the blobs. + */ + content_type?: unknown[] | string; + /** + * Blobs + * @description The blobs to be added to the project. + */ + blobs: string[]; + }; + /** Body_add_blob_v1_project_data_add_blobs_post */ + Body_add_blob_v1_project_data_add_blobs_post: { + /** + * Dataset Id + * @description The ID of the project. + */ + dataset_id: string; + /** + * Content Type + * @description The content types of the blobs. + */ + content_type?: unknown[] | string; + /** + * Blobs + * @description The blobs to be added to the project. + */ + blobs: string[]; + }; + /** CreateAtlasIndexRequest */ + CreateAtlasIndexRequest: { + /** + * Project Id + * Format: uuid + * @description Unique project id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + /** + * Index Name + * @description The name of the index you are building. + */ + index_name?: string; + /** + * Colorable Fields + * @description The fields that can be colored by. + * @default [] + */ + colorable_fields?: string[]; + /** + * Modality + * @description The data modality of the index. + */ + modality?: string; + /** + * Reuse Atoms And Embeddings From + * @description If passed, will reuse atoms and embeddings from the specified index + */ + reuse_atoms_and_embeddings_from?: string; + /** + * Indexed Field + * @description The field this index is indexing. Should be set to None for embedding projects. + */ + indexed_field: string; + /** + * Atomizer Strategies + * @description The atomizer strategies to use when building this index. Should be set to None for embedding projects. + * @default [ + * "document" + * ] + */ + atomizer_strategies?: string[]; + /** + * Geometry Strategies + * @description The sets of geometry strategies to use when building this index. Should be set to None for embedding projects. + * @default [ + * [ + * "document" + * ] + * ] + */ + geometry_strategies?: string[][]; + /** + * Model + * @description The model to encode your data with. Should be set to None for embedding projects. + */ + model: string; + /** + * Model Hyperparameters + * @description JSON representation of hyperparameters to train the model with. Should be set to None for embedding projects. + */ + model_hyperparameters: string; + /** + * Nearest Neighbor Index + * @description The nearest neighbor index to build. + */ + nearest_neighbor_index: string; + /** + * Nearest Neighbor Index Hyperparameters + * @description JSON representation of hyperparameters to train the model with + */ + nearest_neighbor_index_hyperparameters: string; + /** + * Projection + * @description The projection to build. + */ + projection: string; + /** + * Projection Hyperparameters + * @description JSON representation of hyperparameters to train the model with + */ + projection_hyperparameters: string; + /** + * Topic Model Hyperparameters + * @description JSON representation of hyperparameters to build the topic model with + * @default {"build_topic_model": false} + */ + topic_model_hyperparameters?: string; + /** + * Duplicate Detection Hyperparameters + * @description JSON representation of hyperparameters used for duplicate detection + * @default {"tag_duplicates": false, "duplicate_cutoff": 0.1} + */ + duplicate_detection_hyperparameters?: string; + }; + /** CreateAtlasIndexResponse */ + CreateAtlasIndexResponse: { + /** + * Job Id + * Format: uuid + * @description The job id of the index creation job. + */ + job_id: string; + }; + /** CreateOrganizationRequest */ + CreateOrganizationRequest: { + /** + * Nickname + * @description The name of the organization. + */ + nickname: string; + /** + * Description + * @description A description of the organization. + */ + description?: string; + /** + * Logo Url + * @description The logo of the organization. + */ + logo_url?: string; + /** + * Website + * @description The website of the organization. + */ + website?: string; + /** + * Organization Type + * @description The type of organization. + * @default personal + */ + organization_type?: string; + }; + /** CreateOrganizationResponse */ + CreateOrganizationResponse: { + /** + * Organization Id + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** CreateProjectRequest */ + CreateProjectRequest: { + /** + * Organization Id + * Format: uuid + * @description Unique organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * Project Name + * @description The name of the project + * @example example-project + */ + project_name: string; + /** + * Modality + * @description The data modality of this project + */ + modality?: string; + /** + * Unique Id Field + * @description The unique ID field of the project. + */ + unique_id_field: string; + /** + * Description + * @description A description of your project. + * @default + */ + description?: string; + /** + * Is Public + * @description Is the project public? + * @default false + */ + is_public?: boolean; + /** + * Slug + * @description The desired url slug for the project + */ + slug?: string; + }; + /** CreateProjectionViewRequest */ + CreateProjectionViewRequest: { + /** + * Dsl Rule + * @description The JSON serialization of the selection state + */ + dsl_rule?: string; + /** + * Deepscatter Api + * @description The JSON serialization of the deepscatter API call + */ + deepscatter_api?: string; + }; + /** DatasetMemberCreateRequest */ + DatasetMemberCreateRequest: { + /** + * User ID + * @description The user ID to add to the dataset + */ + user_id: string; + /** + * Dataset Role + * @description The role to assign to the user in the dataset + */ + access_role: components['schemas']['DatasetRole']; + }; + /** DatasetMemberDeleteRequest */ + DatasetMemberDeleteRequest: { + /** + * User ID + * @description The user ID to remove from the dataset + */ + user_id: string; + }; + /** DatasetMemberUpdateRequest */ + DatasetMemberUpdateRequest: { + /** + * User ID + * @description The user ID to add to the dataset + */ + user_id: string; + /** + * Dataset Role + * @description The role to assign to the user in the dataset + */ + access_role: components['schemas']['DatasetRole']; + }; + /** DatasetMembershipWithPicture */ + DatasetMembershipWithPicture: { + /** + * Dataset Id + * Format: uuid + * @description Dataset ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + dataset_id: string; + /** + * Organization Id + * Format: uuid + * @description Organization ID + */ + organization_id: string; + /** + * Nickname + * @description User nickname + */ + nickname: string; + /** + * User Id + * @description User ID + */ + user_id: string; + /** + * Access Role + * @description User access role in dataset + */ + access_role: string; + /** + * Picture + * @description The users profile image + */ + picture?: string; + }; + /** + * DatasetRole + * @description An enumeration. + * @enum {string} + */ + DatasetRole: 'ADMIN' | 'EDITOR' | 'VIEWER' | 'NONE'; + /** DatumTagResponse */ + DatumTagResponse: { + /** + * Datum Id + * @description The datum id + */ + datum_id: string; + /** + * Labels + * @description The labels associated with this datum_id + */ + labels: string[]; + }; + /** DeletePendingInvitationRequest */ + DeletePendingInvitationRequest: { + /** + * Id + * Format: uuid + * @description Initation id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Organization Id + * Format: uuid + * @description Inviter organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** DeprecatedInviteUserRequest */ + DeprecatedInviteUserRequest: { + /** + * User Id + * @description User id to invite + * @example auth0|12345678 + */ + user_id: string; + /** + * Access Role + * @description Role to set + * @example MEMBER + */ + access_role: string; + /** + * Organization Id + * Format: uuid + * @description Inviter organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** DimensionalityReductionRequest */ + DimensionalityReductionRequest: { + /** + * Embeddings + * @description The embeddings you want to project. + */ + embeddings: number[][]; + /** + * N Neighbors + * @description Number of neighbors for projection + */ + n_neighbors: number; + /** + * @description The model to use when projecting. + * @default nomic-project-v1 + */ + model?: components['schemas']['NomicProjectModel']; + }; + /** DimensionalityReductionResponse */ + DimensionalityReductionResponse: { + /** + * Projection + * @description Projection of embeddings + */ + projection: number[][]; + }; + /** EditProjectRequest */ + EditProjectRequest: { + /** + * Id + * Format: uuid + * @description The project id + * @example df4dcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Project Name + * @description Project name to update + */ + project_name?: string; + /** + * Description + * @description Project description to update + */ + description?: string; + /** + * Is Public + * @description Should the project be public? + */ + is_public?: boolean; + /** + * Is Public To Org + * @description Should the project be shared to the organization? + */ + is_public_to_org?: boolean; + /** + * Slug + * @description A new slug to use in project urls. + */ + slug?: string; + }; + /** EditProjectionAliasRequest */ + EditProjectionAliasRequest: { + /** + * Project Id + * @description Project ID to edit alias for + */ + project_id: string; + /** + * Projection Id + * @description Projection ID to edit alias for + */ + projection_id: string; + /** + * Alias Value + * @description Value to set for alias + */ + alias_value: string; + /** + * Replace + * @description Replace projection this alias currently points to + * @default false + */ + replace?: boolean; + }; + /** Embedder */ + Embedder: { + /** + * Id + * Format: uuid + * @description Embedder id ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Atlas Index Id + * Format: uuid + * @description The index this atomizer corresponds to. + */ + atlas_index_id: string; + /** + * Ready + * @description Is this embedder ready? + */ + ready: boolean; + /** + * Model Name + * @description The embedder model this embedder embeds with. + */ + model_name: string; + /** + * Hyperparameters + * @description The hyperparameters this model was trained with. + */ + hyperparameters: Record; + }; + /** EmbeddingModelInferenceUsage */ + EmbeddingModelInferenceUsage: { + /** + * Model + * @description The embedding model used. + */ + model: + | components['schemas']['NomicTextEmbeddingModel'] + | components['schemas']['NomicImageEmbeddingModel']; + /** + * Tokens + * @description The total tokens used. + */ + tokens: number; + /** + * Num Embeddings + * @description The total embeddings generated. + */ + num_embeddings?: number; + }; + /** EmbeddingNeighborByIDRequest */ + EmbeddingNeighborByIDRequest: { + /** + * Atlas Index Id + * Format: uuid + * @description Unique atlas index id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + atlas_index_id: string; + /** + * Datum Ids + * @description The datum ids to query. + */ + datum_ids?: string[]; + /** + * Atom Ids + * @description The atom ids to query. + */ + atom_ids?: string[]; + /** + * K + * @description The number of neighbors to return + * @default 4 + */ + k?: number; + }; + /** EmbeddingNeighborRequest */ + EmbeddingNeighborRequest: { + /** + * Atlas Index Id + * Format: uuid + * @description Unique atlas index id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + atlas_index_id: string; + /** + * Queries + * @description The bytes of a batch of embeddings to get neighbors for + */ + queries: string; + /** + * K + * @description The number of neighbors to return + * @default 4 + */ + k?: number; + }; + /** EmbeddingNeighborResponse */ + EmbeddingNeighborResponse: { + /** + * Neighbors + * @description nested list of nearest neighbors + */ + neighbors: string[][]; + /** + * Distances + * @description distances of the neighbors to queries + */ + distances: number[][]; + }; + /** EmbeddingTopicRequest */ + EmbeddingTopicRequest: { + /** + * Atlas Index Id + * Format: uuid + * @description Unique atlas index id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + atlas_index_id: string; + /** + * Queries + * @description The bytes of a batch of embeddings to get topics for + */ + queries: string; + /** + * Topic Model Id + * @description The topic model to search under + * @default + */ + topic_model_id?: string; + /** + * K + * @description Number of neighbors to use when inferring topics + * @default 32 + */ + k?: number; + /** + * Depth + * @description The depth at which you want to estimate a topic + * @default 1 + */ + depth?: number; + }; + /** EmbeddingUsageModel */ + EmbeddingUsageModel: { + /** + * Prompt Tokens + * @description The number of non-generated tokens ingested. + */ + prompt_tokens: number; + /** + * Total Tokens + * @description The total tokens used. + */ + total_tokens: number; + }; + /** + * Feature + * @description Feature Model + */ + Feature: { + /** + * Type + * @default Feature + * @constant + */ + type?: 'Feature'; + /** Geometry */ + geometry?: + | components['schemas']['Point'] + | components['schemas']['MultiPoint'] + | components['schemas']['LineString'] + | components['schemas']['MultiLineString'] + | components['schemas']['Polygon'] + | components['schemas']['MultiPolygon'] + | components['schemas']['GeometryCollection']; + /** Properties */ + properties?: Record | components['schemas']['BaseModel']; + /** Id */ + id?: string; + /** Bbox */ + bbox?: + | [number, number, number, number] + | [number, number, number, number, number, number]; + }; + /** + * FeatureCollection + * @description FeatureCollection Model + */ + FeatureCollection: { + /** + * Type + * @default FeatureCollection + * @constant + */ + type?: 'FeatureCollection'; + /** Features */ + features: components['schemas']['Feature'][]; + /** Bbox */ + bbox?: + | [number, number, number, number] + | [number, number, number, number, number, number]; + }; + /** + * GeometryCollection + * @description GeometryCollection Model + */ + GeometryCollection: { + /** + * Type + * @default GeometryCollection + * @constant + */ + type?: 'GeometryCollection'; + /** Geometries */ + geometries: ( + | components['schemas']['Point'] + | components['schemas']['MultiPoint'] + | components['schemas']['LineString'] + | components['schemas']['MultiLineString'] + | components['schemas']['Polygon'] + | components['schemas']['MultiPolygon'] + )[]; + }; + /** GetBlobResponse */ + GetBlobResponse: { + /** + * Url + * @description The presigned S3 URL of the blob + */ + url: string; + }; + /** GetDatumRequest */ + GetDatumRequest: { + /** + * Project Id + * Format: uuid + * @description The id of the project to update. + */ + project_id: string; + /** + * Datum Ids + * @description The datum ids to retrieve. + */ + datum_ids: string[]; + }; + /** GetDatumResponse */ + GetDatumResponse: { + /** + * Datums + * @description The returned datums without json deserialization. + */ + datums: Record[]; + }; + /** GetProjectionAliasRequest */ + GetProjectionAliasRequest: { + /** + * Project Id + * @description Project ID to get alias for + */ + project_id: string; + /** + * Projection Id + * @description Projection ID to get alias for + */ + projection_id: string; + }; + /** GetProjectionAliasResponse */ + GetProjectionAliasResponse: { + /** + * Alias Value + * @description Value of alias + */ + alias_value: string; + }; + /** HTTPValidationError */ + HTTPValidationError: { + /** Detail */ + detail?: components['schemas']['ValidationError'][]; + }; + /** IndexJob */ + IndexJob: { + /** + * Id + * Format: uuid + * @description Job ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Index Id + * Format: uuid + * @description Index ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + index_id: string; + /** + * Job Start Timestamp + * Format: date-time + * @description The timestamp of when the job started. + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + job_start_timestamp: string; + /** + * Job End Timestamp + * Format: date-time + * @description The timestamp of when the job ended. + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + job_end_timestamp: string; + /** + * Total Datums Remaining To Atomize + * @description The total datums remaining to atomize + * @example 1 + */ + total_datums_remaining_to_atomize: number; + /** + * Total Atoms Remaining To Embed + * @description The total datums remaining to embed + * @example 1 + */ + total_atoms_remaining_to_embed: number; + /** + * Nearest Neighbor Indices Remaining To Build + * @description The total nearest neighbor indices remaining to build + * @example 1 + */ + nearest_neighbor_indices_remaining_to_build: number; + /** + * Projections Remaining To Build + * @description The total projections remaining to build. + * @example 1 + */ + projections_remaining_to_build: number; + /** + * Topic Models Remaining To Build + * @description The total topic models remaining to build. + * @example 1 + */ + topic_models_remaining_to_build: number; + /** + * Rebuild Topic Models + * @description Whether topic models are rebuilding + */ + rebuild_topic_models: boolean; + }; + /** InvitationModel */ + InvitationModel: { + /** + * Id + * Format: uuid + * @description Initation id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * User Id + * @description User id + * @example auth0|12345678 + */ + user_id: string; + /** + * Access Role + * @description Role + * @example MEMBER + */ + access_role: string; + /** + * Organization Nickname + * @description Organization name + * @example MyOrganization + */ + organization_nickname: string; + /** + * Organization Id + * Format: uuid + * @description Inviter organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * User Nickname + * @description Nickname of user + */ + user_nickname: string; + }; + /** InvitationModelPendingOrg */ + InvitationModelPendingOrg: { + /** + * Id + * Format: uuid + * @description Initation id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * User Id + * @description User id + * @example auth0|12345678 + */ + user_id: string; + /** + * Access Role + * @description Role + * @example MEMBER + */ + access_role: string; + /** + * Organization Nickname + * @description Organization name + * @example MyOrganization + */ + organization_nickname: string; + /** + * Organization Id + * Format: uuid + * @description Inviter organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * User Nickname + * @description Nickname of user + */ + user_nickname: string; + /** + * Email + * @description User email + * @example nomic@gmail.com + */ + email: string; + /** + * Picture + * @description The users profile image + */ + picture?: string; + }; + /** InvitationsResponse */ + InvitationsResponse: { + /** + * Invitations + * @description Invitation list + */ + invitations: components['schemas']['InvitationModel'][]; + }; + /** InviteUserRequest */ + InviteUserRequest: { + /** + * Email + * @description Email of the user to invite + * @example example@nomic.ai + */ + email: string; + /** + * Access Role + * @description Role to set + * @example MEMBER + */ + access_role: string; + /** + * Organization Id + * Format: uuid + * @description Inviter organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** JobProgressResponse */ + JobProgressResponse: { + /** + * Result + * @description Percentage of progress + */ + result: number; + /** + * Job Start Timestamp + * Format: date-time + * @description Job start timestamp + */ + job_start_timestamp: string; + /** + * Job End Timestamp + * Format: date-time + * @description Job end timestamp + */ + job_end_timestamp: string; + /** + * Index Build Stage + * @description Stage of progress + */ + index_build_stage: string; + }; + /** JobSystemIndexStatusResponse */ + JobSystemIndexStatusResponse: { + /** + * Index Id + * @description The atlas index id + * @example 4addcf85-84ed-4e3a-9519-17c72682f905 + */ + index_id: string; + /** + * Status + * @description The status of the index job : initiated, completed, failed + */ + status: string; + /** + * Jobs + * @description The progress of the index job + */ + jobs: components['schemas']['JobTypeStatus'][]; + }; + /** JobTypeStatus */ + JobTypeStatus: { + /** + * Job Type + * @description The type of job + */ + job_type: string; + /** + * State + * @description The job type state + */ + state: string; + /** + * Creation Time + * Format: date-time + * @description The job creation time + */ + creation_time: string; + /** + * Ready Time + * Format: date-time + * @description The time the job became eligible to run + */ + ready_time?: string; + /** + * Start Time + * Format: date-time + * @description The job start time + */ + start_time: string; + /** + * End Time + * Format: date-time + * @description The job end time + */ + end_time?: string; + /** + * Worker Id + * @description The UUID of the worker that last attempted the job + */ + worker_id?: string; + /** + * Attempt + * @description # of attempts made to run the job (0 if it has not been assigned) + */ + attempt?: number; + /** + * Priority + * @description Job priority (higher runs first) + */ + priority?: number; + }; + /** + * LineString + * @description LineString Model + */ + LineString: { + /** + * Type + * @default LineString + * @constant + */ + type?: 'LineString'; + /** Coordinates */ + coordinates: ([number, number] | [number, number, number])[]; + }; + /** + * LongTextHandlingMode + * @description An enumeration. + * @enum {unknown} + */ + LongTextHandlingMode: 'truncate' | 'mean'; + /** ModifyUserRequest */ + ModifyUserRequest: { + /** + * User Id + * @description Unique user id + * @example auth0|12345678 + */ + user_id: string; + /** + * @description The access role the new user should have: MEMBER, ADMIN, OWNER + * @example MEMBER + */ + access_role: components['schemas']['AccessRole']; + /** + * Organization Id + * Format: uuid + * @description Unique organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** + * MultiLineString + * @description MultiLineString Model + */ + MultiLineString: { + /** + * Type + * @default MultiLineString + * @constant + */ + type?: 'MultiLineString'; + /** Coordinates */ + coordinates: ([number, number] | [number, number, number])[][]; + }; + /** + * MultiPoint + * @description MultiPoint Model + */ + MultiPoint: { + /** + * Type + * @default MultiPoint + * @constant + */ + type?: 'MultiPoint'; + /** Coordinates */ + coordinates: ([number, number] | [number, number, number])[]; + }; + /** + * MultiPolygon + * @description MultiPolygon Model + */ + MultiPolygon: { + /** + * Type + * @default MultiPolygon + * @constant + */ + type?: 'MultiPolygon'; + /** Coordinates */ + coordinates: ([number, number] | [number, number, number])[][][]; + }; + /** NearestNeighborIndex */ + NearestNeighborIndex: { + /** + * Id + * Format: uuid + * @description Nearest Neighbor Index ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Index Name + * @description The type of nearest neighbor index + * @example faiss + */ + index_name: string; + /** + * Ready + * @description Is this NN index ready? + */ + ready: boolean; + /** + * Hyperparameters + * @description The hyperparameters of this index. + */ + hyperparameters: Record; + /** + * Atom Strategies + * @description The phrase strategies of the phrases this embedder is embedding. + */ + atom_strategies: string[]; + }; + /** + * NomicImageEmbeddingModel + * @description An enumeration. + * @enum {unknown} + */ + NomicImageEmbeddingModel: + | 'nomic-embed-vision-v1' + | 'nomic-embed-vision-v1.5'; + /** + * NomicProjectModel + * @description An enumeration. + * @enum {string} + */ + NomicProjectModel: 'nomic-project-v1' | 'nomic-project-v2'; + /** + * NomicTextEmbeddingModel + * @description An enumeration. + * @enum {unknown} + */ + NomicTextEmbeddingModel: + | 'all-MiniLM-L6-v2' + | 'nomic-embed-text-v1' + | 'nomic-embed-text-v1.5' + | 'nomic-embed-code'; + /** ObtainAccessTokenRequest */ + ObtainAccessTokenRequest: { + /** + * Code + * @description The code to use to obtain the access token. + */ + code: string; + }; + /** Organization */ + Organization: { + /** + * Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Nickname + * @description The organization nickname + * @example nomicai + */ + nickname: string; + /** + * Plan Type + * @description The plan type this organization is on. + */ + plan_type: string; + /** + * Time Created + * Format: date-time + * @description When this organizations was created. + */ + time_created: string; + /** + * Members + * @description All of the organization members with access roles. + */ + members: components['schemas']['OrganizationMembershipWithPicture'][]; + /** + * Projects + * @description All of the organizations projects the requested user can access + */ + projects: components['schemas']['ProjectMetadataBaseModel'][]; + /** + * Slug + * @description The organization url-safe slug + */ + slug: string; + /** + * Organization Type + * @description The type of organization: personal, company and academic + */ + organization_type: string; + /** + * Linked User Account Id + * @description The user id of the linked account Atlas account to this organization. Null if there is no linked account. + * @example auth0|12345678 + */ + linked_user_account_id: string; + /** + * Access Role + * @description Access role of user for this organization + * @default VIEWER + */ + access_role?: string; + /** + * Permissions + * @description User permissions in organization + */ + permissions: components['schemas']['OrganizationPermissions']; + /** + * Public Organization + * @description Is the organization public? + */ + public_organization: boolean; + /** + * Description + * @description A description for this organization. + */ + description?: string; + /** + * Logo Url + * @description The url of the organization logo. + */ + logo_url?: string; + /** + * Website + * @description The url of the organization website. + */ + website?: string; + /** + * Features + * @description The features this organization is allowed to utilize. + */ + features: string[]; + /** + * Max Datums Per Project + * @description The maximum number of datums per project this organization is allowed. + */ + max_datums_per_project: string; + /** + * Max Members + * @description The maximum number of members this organization is allowed. + */ + max_members: string; + /** + * Max Projects + * @description The maximum number of projects this organization can create. + */ + max_projects: number; + /** + * Stripe Subscription Id + * @description Stripe subscription id + * @example sub_e31fd13 + */ + stripe_subscription_id: string; + /** + * Stripe Customer Id + * @description Stripe subscription id + * @example cus_fe32413 + */ + stripe_customer_id: string; + /** + * Stripe Subscription Start Timestamp + * Format: date-time + * @description The timestamp the stripe subscription billing period starts + */ + stripe_subscription_start_timestamp: string; + /** + * Stripe Subscription End Timestamp + * Format: date-time + * @description The timestamp the stripe subscription billing period ends + */ + stripe_subscription_end_timestamp: string; + /** + * Max External Collaborators + * @description The maximum number of external collaborators. + */ + max_external_collaborators: number; + /** + * Project Count + * @description The total number of projects of this organization + */ + project_count: number; + /** + * Max Datums Across All Projects + * @description Max datums across all projects + */ + max_datums_across_all_projects: number; + }; + /** OrganizationIDResponse */ + OrganizationIDResponse: { + /** + * Organization Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** OrganizationMemberDeleteRequest */ + OrganizationMemberDeleteRequest: { + /** + * User Id + * @description Unique user id + * @example auth0|12345678 + */ + user_id: string; + /** + * Organization Id + * Format: uuid + * @description Unique organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** OrganizationMembership */ + OrganizationMembership: { + /** + * Organization Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * Nickname + * @description Organization name + * @example MyOrganization + */ + nickname: string; + /** + * User Id + * @description Unique user id + * @example auth0|12345678 + */ + user_id: string; + /** + * Access Role + * @description User access role in organization + * @example member + */ + access_role: string; + /** + * Permissions + * @description User permissions in organization + */ + permissions: components['schemas']['OrganizationPermissions']; + /** + * Slug + * @description The organization url-safe slug + */ + slug: string; + }; + /** OrganizationMembershipWithPicture */ + OrganizationMembershipWithPicture: { + /** + * Organization Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * Nickname + * @description Organization name + * @example MyOrganization + */ + nickname: string; + /** + * Picture + * @description The users profile image + */ + picture?: string; + /** + * User Id + * @description Unique user id + * @example auth0|12345678 + */ + user_id: string; + /** + * Access Role + * @description User access role in organization + * @example member + */ + access_role: string; + /** + * Permissions + * @description User permissions in organization + */ + permissions: components['schemas']['OrganizationPermissions']; + /** + * Email + * @description User email + * @example nomic@gmail.com + */ + email: string; + }; + /** OrganizationPermissions */ + OrganizationPermissions: { + /** Organization:Administration:Read */ + 'organization:administration:read': boolean; + /** Organization:Administration:Write */ + 'organization:administration:write': boolean; + /** Organization:Metadata:Read */ + 'organization:metadata:read': boolean; + /** Organization:Metadata:Write */ + 'organization:metadata:write': boolean; + /** Organization:Members:Read */ + 'organization:members:read': boolean; + /** Organization:Members:Write */ + 'organization:members:write': boolean; + /** Organization:Api Keys:Read */ + 'organization:api_keys:read': boolean; + /** Organization:Api Keys:Write */ + 'organization:api_keys:write': boolean; + /** Organization:Datasets:Read */ + 'organization:datasets:read': boolean; + /** Organization:Datasets:Write */ + 'organization:datasets:write': boolean; + /** Organization:Billing:Read */ + 'organization:billing:read': boolean; + /** Organization:Billing:Write */ + 'organization:billing:write': boolean; + }; + /** PagedEmbeddingRequest */ + PagedEmbeddingRequest: { + /** + * Projection Id + * Format: uuid + * @description Unique projection id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + projection_id: string; + /** + * Last File + * @description The previous page token to start from; or undefined to start from the beginning. + */ + last_file?: string; + /** + * Page Size + * @description The number of embeddings to return in each page. + * @default 10000 + */ + page_size?: number; + }; + /** PendingInvitationsRequest */ + PendingInvitationsRequest: { + /** + * Organization Id + * Format: uuid + * @description Organization id to get pending invitations for + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** PendingInvitationsResponse */ + PendingInvitationsResponse: { + /** + * Invitations + * @description Invitation list + */ + invitations: components['schemas']['InvitationModelPendingOrg'][]; + }; + /** + * Point + * @description Point Model + */ + Point: { + /** + * Type + * @default Point + * @constant + */ + type?: 'Point'; + /** Coordinates */ + coordinates: [number, number] | [number, number, number]; + }; + /** + * Polygon + * @description Polygon Model + */ + Polygon: { + /** + * Type + * @default Polygon + * @constant + */ + type?: 'Polygon'; + /** Coordinates */ + coordinates: ([number, number] | [number, number, number])[][]; + }; + /** + * PrivateUser + * @description Put user attributes here that are only returned in private endpoints + */ + PrivateUser: { + /** + * Sub + * @description Unique user id + * @example auth0|12345678 + */ + sub: string; + /** + * Nickname + * @description The users nickname + * @example nomicai + */ + nickname: string; + /** + * Name + * @description The users name as registered in auth0 + * @example nomicai + */ + name: string; + /** + * Picture + * @description The users profile image + */ + picture?: string; + /** + * Updated At + * Format: date-time + * @description The last time user information was updated on Auth0 side. + */ + updated_at: string; + /** + * Default Organization + * Format: uuid + * @description The users default organization. + */ + default_organization?: string; + /** + * Stripe Customer Id + * @description The users stripe account. + */ + stripe_customer_id?: string; + /** + * Email + * @description The user email + */ + email: string; + /** + * Organizations + * @description All of the organizations this user belongs to + * @default [] + */ + organizations?: components['schemas']['OrganizationMembership'][]; + /** + * Waitlisted + * @description Whether or not the user is wait-listed for Atlas access + * @default false + */ + waitlisted?: boolean; + }; + /** Project */ + Project: { + /** + * Id + * Format: uuid + * @description Project ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Owner + * Format: uuid + * @description The organization ID that owns this project + * @example 43adcf85-84ed-4e3a-9519-17c72682f905 + */ + owner: string; + /** + * Project Name + * @description The name of this project + * @example example_project + */ + project_name: string; + /** + * Creator + * @description The user id who created this project. + */ + creator: string; + /** + * Description + * @description A description for this project. + */ + description: string; + /** + * Is Public + * @description Is the project viewable without being in the organzation? + */ + is_public: boolean; + /** + * Is Public To Org + * @description Is the project viewable to the organization? + */ + is_public_to_org: boolean; + /** + * Project Fields + * @description The list of fields a datum in the project may contain. + */ + project_fields: string[]; + /** + * Unique Id Field + * @description The field that contains a unique id for each document. + */ + unique_id_field: string; + /** + * Modality + * @description The project modality + */ + modality?: string; + /** + * Total Datums In Project + * @description Total datums in project. + */ + total_datums_in_project: number; + /** + * Created Timestamp + * Format: date-time + * @description The timestamp this project was created. + */ + created_timestamp: string; + /** + * Slug + * @description The project url-safe slug + */ + slug: string; + /** + * Atlas Indices + * @description All Atlas Indices built overtop of this project. + */ + atlas_indices: components['schemas']['AtlasIndex'][]; + /** + * Insert Update Delete Lock + * @description Whether the project is locked for CRUD operations. + */ + insert_update_delete_lock: boolean; + /** + * Access Role + * @description Access role of user for this project + */ + access_role: string; + /** + * Schema + * @description An Arrow schema for the project. Binary data encoded as base64. + */ + schema?: string; + /** + * Organization Slug + * @description The organization url-safe slug + */ + organization_slug: string; + /** + * Organization Name + * @description The organization nickname + */ + organization_name: string; + /** + * Creator Nickname + * @description The creator nickname + */ + creator_nickname: string; + /** + * Creator Picture + * @description The creator picture + */ + creator_picture: string; + }; + /** ProjectCreatedResponse */ + ProjectCreatedResponse: { + /** + * Project Id + * Format: uuid + * @description The ID of the newly created project + * @example 4addcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + /** + * Slug + * @description The unique url slug of the project + * @example test-project-123 + */ + slug: string; + }; + /** ProjectDataArrowExportRequest */ + ProjectDataArrowExportRequest: { + /** + * Id + * Format: uuid + * @description Project ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Index Id + * Format: uuid + * @description Atlas index ID--needed for index-specific data + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + index_id?: string; + /** + * Tags + * @description Whether to export tags + * @default false + */ + tags?: boolean; + /** + * Metadata + * @description Whether to export the core metadata (aside from tags, embeddings) + * @default false + */ + metadata?: boolean; + /** + * Embeddings + * @description Whether to export embeddings + * @default false + */ + embeddings?: boolean; + /** + * Topics + * @description Whether to export topics + * @default false + */ + topics?: boolean; + }; + /** ProjectDataDeleteRequest */ + ProjectDataDeleteRequest: { + /** + * Datum Ids + * @description The datum ids to delete + */ + datum_ids: string[]; + /** + * Project Id + * Format: uuid + * @description The project id + * @example df4dcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + }; + /** ProjectDataUpdateRequest */ + ProjectDataUpdateRequest: { + /** + * Datums + * @description The datums to update + */ + datums: Record[]; + /** + * Project Id + * Format: uuid + * @description The project id + * @example df4dcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + }; + /** ProjectGalleryResponse */ + ProjectGalleryResponse: { + /** + * Results + * @description A list of projects in the gallery + * @default [] + */ + results?: components['schemas']['ProjectMetadataBaseModel'][]; + }; + /** ProjectIdName */ + ProjectIdName: { + /** + * Id + * Format: uuid + * @description Id of the project + */ + id: string; + /** + * Project Name + * @description Name of the project + */ + project_name: string; + /** + * Slug + * @description The project url-safe slug + */ + slug: string; + }; + /** ProjectMetadataBaseModel */ + ProjectMetadataBaseModel: { + /** + * Id + * Format: uuid + * @description Project ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Owner + * Format: uuid + * @description The organization ID that owns this project + * @example 43adcf85-84ed-4e3a-9519-17c72682f905 + */ + owner: string; + /** + * Project Name + * @description The name of this project + * @example example_project + */ + project_name: string; + /** + * Creator + * @description The user id who created this project. + */ + creator: string; + /** + * Description + * @description A description for this project. + */ + description: string; + /** + * Is Public + * @description Is the project viewable without being in the organization? + */ + is_public: boolean; + /** + * Is Public To Org + * @description Is the project public to the organization? + */ + is_public_to_org: boolean; + /** + * Project Fields + * @description The list of fields a datum in the project may contain. + */ + project_fields: string[]; + /** + * Unique Id Field + * @description The field that contains a unique id for each document. + */ + unique_id_field: string; + /** + * Modality + * @description The project modality + */ + modality?: string; + /** + * Total Datums In Project + * @description Total datums in project. + */ + total_datums_in_project: number; + /** + * Created Timestamp + * Format: date-time + * @description The timestamp this project was created. + */ + created_timestamp: string; + /** + * Nickname + * @description The nickname who created this project. + */ + nickname: string; + /** + * Thumbnail + * @description The project display thumbnail. + */ + thumbnail: string; + /** + * Slug + * @description The project url-safe slug + */ + slug: string; + /** + * Organization Slug + * @description The organization url-safe slug + */ + organization_slug: string; + /** + * Organization Name + * @description The organization nickname + */ + organization_name: string; + /** + * Creator Nickname + * @description The creator nickname + */ + creator_nickname: string; + /** + * Creator Picture + * @description The creator picture + */ + creator_picture: string; + }; + /** ProjectNameSearchRequest */ + ProjectNameSearchRequest: { + /** + * Project Name + * @description The name of your project + */ + project_name: string; + /** + * Organization Name + * @description The organization with-in which you are searching. + */ + organization_name?: string; + }; + /** ProjectNameSearchResponse */ + ProjectNameSearchResponse: { + /** + * Results + * @description A list of projects matching your search query. + */ + results: components['schemas']['ProjectSearchItem'][]; + }; + /** ProjectSearchItem */ + ProjectSearchItem: { + /** + * Id + * Format: uuid + * @description Project ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Owner + * @description The nickname of the organization that owns this project. + * @example 43adcf85-84ed-4e3a-9519-17c72682f905 + */ + owner: string; + /** + * Project Name + * @description The name of this project + * @example example_project + */ + project_name: string; + /** + * Creator + * @description The nickname of the user who created this project. + */ + creator: string; + /** + * Description + * @description A description for this project. + */ + description: string; + }; + /** Projection */ + Projection: { + /** + * Id + * Format: uuid + * @description Projection ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Projection Name + * @description The type of projection + */ + projection_name: string; + /** + * Ready + * @description Is this projection ready? + */ + ready: boolean; + /** + * Hyperparameters + * @description The hyperparameters of this projection. + */ + hyperparameters: Record; + /** + * Atom Strategies + * @description The phrase strategies of the phrases this embedder is embedding. + */ + atom_strategies: string[]; + /** + * Created Timestamp + * Format: date-time + * @description The timestamp this projection was created. + */ + created_timestamp: string; + /** + * Updated Timestamp + * Format: date-time + * @description The timestamp this projection was updated. + */ + updated_timestamp: string; + /** + * Thumbnail + * @description The thumbnail of this projection. + * @default + */ + thumbnail?: string; + /** + * Og Image + * @description The og image of this projection. + * @default + */ + og_image?: string; + }; + /** ProjectionAliasResponse */ + ProjectionAliasResponse: { + /** + * Project Id + * Format: uuid + * @description The project id + * @example df4dcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + /** + * Projection Id + * Format: uuid + * @description The projection id + * @example The projection id + */ + projection_id: string; + }; + /** ProjectionResponse */ + ProjectionResponse: { + /** + * Topic Models + * @description List of topic model geojsons + */ + topic_models: components['schemas']['FeatureCollection'][]; + /** + * Topic Model Metadatas + * @description list of topic model metadata + */ + topic_model_metadatas: Record[]; + }; + /** ProjectsResponse */ + ProjectsResponse: { + /** + * Projects + * @description All projects for user + */ + projects: components['schemas']['ProjectIdName'][]; + }; + /** PublicOrganizationMembershipWithPicture */ + PublicOrganizationMembershipWithPicture: { + /** + * Organization Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * Nickname + * @description Organization name + * @example MyOrganization + */ + nickname: string; + /** + * Picture + * @description The users profile image + */ + picture?: string; + }; + /** PublicOrganizationResponse */ + PublicOrganizationResponse: { + /** + * Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + id: string; + /** + * Nickname + * @description The organization nickname + * @example nomicai + */ + nickname: string; + /** + * Plan Type + * @description The plan type this organization is on. + */ + plan_type: string; + /** + * Time Created + * Format: date-time + * @description When this organizations was created. + */ + time_created: string; + /** + * Members + * @description All of the organization members with access roles. + */ + members: components['schemas']['PublicOrganizationMembershipWithPicture'][]; + /** + * Projects + * @description All of the organizations projects the requested user can access + */ + projects: components['schemas']['ProjectMetadataBaseModel'][]; + /** + * Slug + * @description The organization url-safe slug + */ + slug: string; + /** + * Organization Type + * @description The type of organization: personal, company and academic + */ + organization_type: string; + /** + * Linked User Account Id + * @description The user id of the linked account Atlas account to this organization. Null if there is no linked account. + * @example auth0|12345678 + */ + linked_user_account_id: string; + /** + * Access Role + * @description Access role of user for this organization + * @default VIEWER + */ + access_role?: string; + /** + * Permissions + * @description User permissions in organization + */ + permissions: components['schemas']['OrganizationPermissions']; + /** + * Public Organization + * @description Is the organization public? + */ + public_organization: boolean; + /** + * Description + * @description A description for this organization. + */ + description?: string; + /** + * Logo Url + * @description The url of the organization logo. + */ + logo_url?: string; + /** + * Website + * @description The url of the organization website. + */ + website?: string; + }; + /** RemoveIndexRequest */ + RemoveIndexRequest: { + /** + * Project Id + * Format: uuid + * @description The project id containing the index you are removing. + */ + project_id: string; + /** + * Index Id + * Format: uuid + * @description ID of index to remove + */ + index_id: string; + }; + /** RemoveProjectRequest */ + RemoveProjectRequest: { + /** + * Project Id + * Format: uuid + * @description The ID of the project to remove. + * @example example-project + */ + project_id: string; + }; + /** SearchUserModel */ + SearchUserModel: { + /** + * Nickname + * @description Nickname of user + */ + nickname: string; + /** + * Id + * @description User id + */ + id: string; + }; + /** SearchUserProjectRequest */ + SearchUserProjectRequest: { + /** + * Search Word + * @description Search word to find user + */ + search_word: string; + /** + * Organization Id + * Format: uuid + * @description Inviter organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * Project Id + * Format: uuid + * @description Inviter project id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + project_id: string; + }; + /** SearchUserRequest */ + SearchUserRequest: { + /** + * Search Word + * @description Search word to find user + */ + search_word: string; + /** + * Organization Id + * Format: uuid + * @description Inviter organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** SearchUserResponse */ + SearchUserResponse: { + /** + * Users + * @description Users list + */ + users: components['schemas']['SearchUserModel'][]; + }; + /** SetOrganizationLimitsRequest */ + SetOrganizationLimitsRequest: { + /** + * Max Datums + * @description The datapoint usage limit to set for the organization + */ + max_datums: number; + /** + * Organization Id + * Format: uuid + * @description Organization id + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** SetOrganizationLimitsResponse */ + SetOrganizationLimitsResponse: { + /** + * Max Datums + * @description The new datapoint usage limit + */ + max_datums: number; + }; + /** StripeSubscriptionCreateRequest */ + StripeSubscriptionCreateRequest: { + /** + * Organization Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + }; + /** StripeSubscriptionCreateResponse */ + StripeSubscriptionCreateResponse: { + /** + * Subscription Id + * @description The ID of the subscription + */ + subscription_id: string; + /** + * Client Secret + * @description The stripe client secret for the payment entering session + */ + client_secret: string; + }; + /** SuccessResponse */ + SuccessResponse: { + /** + * Result + * @default ok + */ + result?: string; + }; + /** TagRequest */ + TagRequest: { + /** + * Project Id + * @description Project id + */ + project_id: string; + /** + * Projection Id + * @description Projection id + */ + projection_id: string; + /** + * Tag Name + * @description Name of tag + */ + tag_name: string; + /** + * Tag Definition Id + * @description Hashed id for tag definition + */ + tag_definition_id: string; + /** + * Dsl Rule + * @description DSL rule to generate tag mask + */ + dsl_rule: string; + }; + /** TagResponse */ + TagResponse: { + /** Tag Id */ + tag_id: string; + /** + * Tag Definition Id + * @description Hashed id of tag definition + */ + tag_definition_id: string; + /** + * Tag Name + * @description Name of tag + */ + tag_name?: string; + /** + * User Id + * @description Tag creator nickname + */ + user_id?: string; + /** + * Dsl Rule + * @description DSL rule json + */ + dsl_rule?: string; + }; + /** TagStatus */ + TagStatus: { + /** + * Is Complete + * @description Is tag applied to all tiles + */ + is_complete: boolean; + }; + /** TagWithIdRequest */ + TagWithIdRequest: { + /** + * Project Id + * @description Project ID + */ + project_id: string; + /** + * Tag Id + * @description Tag id + */ + tag_id: string; + /** + * Tag Name + * @description Name of tag + */ + tag_name?: string; + /** + * Tag Definition Id + * @description Hashed id for tag definition + */ + tag_definition_id?: string; + /** + * Dsl Rule + * @description DSL rule to generate tag mask + */ + dsl_rule?: string; + }; + /** TextEmbeddingInferenceRequest */ + TextEmbeddingInferenceRequest: { + /** + * Texts + * @description A batch of text you want embedded. + */ + texts: string[]; + /** + * @description The model to use when embedding. + * @default nomic-embed-text-v1 + */ + model?: components['schemas']['NomicTextEmbeddingModel']; + /** + * Task Type + * @description The downstream task to generate embeddings for, model-specific. + */ + task_type?: string; + /** + * @description How to handle text longer than the model can accept. + * @default mean + */ + long_text_mode?: components['schemas']['LongTextHandlingMode']; + /** + * Max Tokens Per Text + * @description Maximum amount of tokens per text. Defaults to 8192 if `long_text_mode` is "mean", or the maximum model input size if `long_text_mode` is "truncate". + * @default 8192 + */ + max_tokens_per_text?: number; + /** + * Dimensionality + * @description Requested embedding dimensionality, defaults to full-size for requested model + */ + dimensionality?: number; + }; + /** TextEmbeddingInferenceResponse */ + TextEmbeddingInferenceResponse: { + /** + * Embeddings + * @description The embeddings + */ + embeddings: number[][]; + /** + * Usage + * @description The embedding usage + */ + usage: components['schemas']['EmbeddingUsageModel']; + /** @description The model used to produce the embeddings. */ + model: components['schemas']['NomicTextEmbeddingModel']; + }; + /** TopicDensityRequest */ + TopicDensityRequest: { + /** + * Start + * Format: date-time + * @description The datetime of window start + */ + start: string; + /** + * End + * Format: date-time + * @description The datetime of window end + */ + end: string; + /** + * Time Field + * @description The time field to window against + */ + time_field: string; + }; + /** TopicDensityResponse */ + TopicDensityResponse: { + /** + * Results + * @description A list of topic metadata, including movement information + */ + results: Record[]; + }; + /** UpdateInviteRequest */ + UpdateInviteRequest: { + /** + * Invitation Id + * @description Invitation id + * @example auth0|12345678 + */ + invitation_id: string; + /** + * Is Accepted + * @description Is invitation accepted? + */ + is_accepted: boolean; + }; + /** UpdateOrganizationRequest */ + UpdateOrganizationRequest: { + /** + * Organization Id + * Format: uuid + * @description Organization ID + * @example 33adcf85-84ed-4e3a-9519-17c72682f905 + */ + organization_id: string; + /** + * New Organization Nickname + * @description The new nickname for the organization. + */ + new_organization_nickname?: string; + /** + * New Organization Type + * @description The new organization type + */ + new_organization_type?: string; + /** + * New Organization Slug + * @description A new organization slug + */ + new_organization_slug?: string; + /** + * New Organization Description + * @description A new description for the organization. + */ + new_organization_description?: string; + /** + * New Organization Logo Url + * @description A new logo for the organization. + */ + new_organization_logo_url?: string; + /** + * New Organization Website + * @description A new website for the organization. + */ + new_organization_website?: string; + }; + /** UpdateProjectIndicesRequest */ + UpdateProjectIndicesRequest: { + /** + * Project Id + * Format: uuid + * @description The id of the project to update + */ + project_id: string; + /** + * Rebuild Topic Models + * @description Whether or not to rebuild topic models + * @default false + */ + rebuild_topic_models?: boolean; + }; + /** UpdateProjectIndicesResponse */ + UpdateProjectIndicesResponse: { + /** + * Job Ids + * @description The job ids cerated for each index update operation + */ + job_ids: string[]; + }; + /** UpdateTagDefinitionRequest */ + UpdateTagDefinitionRequest: { + /** + * Tag Id + * @description Tag id + */ + tag_id: string; + /** + * Tag Definition Id + * @description New tag definition id + */ + tag_definition_id: string; + /** + * Dsl Rule + * @description DSL rule to generate tag mask + */ + dsl_rule?: string; + }; + /** UpdateTagNameRequest */ + UpdateTagNameRequest: { + /** + * Tag Id + * @description Tag id + */ + tag_id: string; + /** + * Tag Name + * @description New name of tag + */ + tag_name: string; + }; + /** UpdateTopicModelRequest */ + UpdateTopicModelRequest: { + /** + * Project Id + * @description Project id + */ + project_id: string; + /** + * Topic Geojson + * @description Topic model geojson to replace existing topic model + */ + topic_geojson: components['schemas']['FeatureCollection']; + }; + /** ValidationError */ + ValidationError: { + /** Location */ + loc: (string | number)[]; + /** Message */ + msg: string; + /** Error Type */ + type: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} + +export type external = Record; + +export interface operations { + /** + * Health Check + * @description Runs a health check on this instance of the API. + */ + health_check_v1_health__get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + }; + }; + /** + * Fetch Organization + * @description Fetches all details about an organization. + * Presents limited amounts of information based on the user's affiliation with the organization. + * Pagination with limit and offset parameters + */ + fetch_organization_v1_organization__organization_id_or_slug__get: { + parameters: { + query?: { + offset_number?: number; + limit?: number; + }; + path: { + organization_id_or_slug: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': + | components['schemas']['Organization'] + | components['schemas']['PublicOrganizationResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Organization Usage + * @description Computes the organization usage in the past 1 month. + * + * since_last_billing_date: If True and organization is on a paid tier, only returns usage after the last billing date. + */ + fetch_organization_usage_v1_organization__organization_id_or_slug__usage_get: { + parameters: { + query?: { + since_last_billing_date?: boolean; + offset_number?: number; + limit?: number; + }; + path: { + organization_id_or_slug: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtlasUsageResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Organization Id By Nickname + * @description Fetches all details about an organization. + * Presents limited amounts of information based on the user's affiliation with the organization. + */ + fetch_organization_id_by_nickname_v1_organization_search__organization_nickname_or_slug__get: { + parameters: { + query?: { + slug?: boolean; + }; + path: { + organization_nickname_or_slug: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['OrganizationIDResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Organization Data + * @description Changes the organization nickname given the organization ID + */ + update_organization_data_v1_organization_rename_post: { + requestBody: { + content: { + 'application/json': components['schemas']['UpdateOrganizationRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Organization Data + * @description Changes the organization nickname given the organization ID + */ + update_organization_data_v1_organization_update_post: { + requestBody: { + content: { + 'application/json': components['schemas']['UpdateOrganizationRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Create Organization + * @description Creates an organization on the free tier and sets the owner to the user sending the request. + */ + create_organization_v1_organization_create_post: { + requestBody: { + content: { + 'application/json': components['schemas']['CreateOrganizationRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['CreateOrganizationResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Search User + * @description Search user by nickname who is not already in organization + */ + search_user_v1_organization_search_post: { + requestBody: { + content: { + 'application/json': components['schemas']['SearchUserRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SearchUserResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Add Organization Member + * @description Adds a user to an organization + */ + add_organization_member_v1_organization_members_add_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AddUserRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove Organization Member + * @description Removes a user from an organization. + */ + remove_organization_member_v1_organization_members_delete_post: { + requestBody: { + content: { + 'application/json': components['schemas']['OrganizationMemberDeleteRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove Organization Member + * @deprecated + * @description Removes a user from an organization. + */ + remove_organization_member_v1_organization_members_remove_post: { + requestBody: { + content: { + 'application/json': components['schemas']['OrganizationMemberDeleteRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Modify Organization Member + * @description Modifies a user in an organization + */ + modify_organization_member_v1_organization_members_update_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ModifyUserRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Modify Organization Member + * @deprecated + * @description Modifies a user in an organization + */ + modify_organization_member_v1_organization_members_modify_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ModifyUserRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Deprecated Invite Member In Organization + * @deprecated + * @description Invites a user in an organization + */ + deprecated_invite_member_in_organization_v1_organization_member_invite_post: { + requestBody: { + content: { + 'application/json': components['schemas']['DeprecatedInviteUserRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Invite Member In Organization + * @description Invites a user in an organization + */ + invite_member_in_organization_v1_organization_members_invite_post: { + requestBody: { + content: { + 'application/json': components['schemas']['InviteUserRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Get Organization Invitations + * @description Get organization invitations for user + */ + get_organization_invitations_v1_organization_invitations_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['InvitationsResponse']; + }; + }; + }; + }; + /** + * Accept Organization Invitation + * @description Accepts an invitation to join an organization + */ + accept_organization_invitation_v1_organization_invitation__invitation_id__accept_post: { + parameters: { + path: { + invitation_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Reject Organization Invitation + * @description Rejects an invitation to join an organization + */ + reject_organization_invitation_v1_organization_invitation__invitation_id__reject_post: { + parameters: { + path: { + invitation_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Invitation Status + * @deprecated + * @description Accept or reject invitation + */ + update_invitation_status_v1_organization_invitation_status_post: { + requestBody: { + content: { + 'application/json': components['schemas']['UpdateInviteRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Get Organization Pending Invitations + * @description Get organization pending invitations + */ + get_organization_pending_invitations_v1_organization_invitations_pending_post: { + requestBody: { + content: { + 'application/json': components['schemas']['PendingInvitationsRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['PendingInvitationsResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove Pending Invitation + * @description Delete pending invitation + */ + remove_pending_invitation_v1_organization_invitations_delete_post: { + requestBody: { + content: { + 'application/json': components['schemas']['DeletePendingInvitationRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Fetch Current User */ + fetch_current_user_v1_user__get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['PrivateUser']; + }; + }; + }; + }; + /** Create Api Key */ + create_api_key_v1_user_authorization_keys__organization_id__create_post: { + parameters: { + path: { + organization_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['APIKeyCreationRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['APIKeyCreationResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Delete Api Key */ + delete_api_key_v1_user_authorization_keys__organization_id__delete_post: { + parameters: { + path: { + organization_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['APIKeyDeletionRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Get Api Keys */ + get_api_keys_v1_user_authorization_keys__organization_id__get: { + parameters: { + path: { + organization_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['APIKeyListResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Auth0 Obtain Token From Code */ + auth0_obtain_token_from_code_v1_user_token_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ObtainAccessTokenRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Auth0 Obtain Token From Refresh */ + auth0_obtain_token_from_refresh_v1_user_token_refresh__refresh_token__get: { + parameters: { + path: { + refresh_token: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Auth0 Authorize Redirect */ + auth0_authorize_redirect_v1_user_authorize_get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + }; + }; + /** Logout */ + logout_v1_user_logout_get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + }; + }; + /** + * Fetch Project + * @description Fetches all details about a project. + */ + fetch_project_v1_project__project_id__get: { + parameters: { + path: { + project_id: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['Project']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Project Gallery + * @description Fetches all projects in the gallery + */ + fetch_project_gallery_v1_project_hub_gallery_get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectGalleryResponse']; + }; + }; + }; + }; + /** + * Fetch All Project + * @deprecated + * @description Fetches all project for authenticated user. + */ + fetch_all_project_v1_project_sidebar_list_get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectsResponse']; + }; + }; + }; + }; + /** + * Fetch All Project + * @description Fetches all project for authenticated user. + */ + fetch_all_project_v1_project__get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectsResponse']; + }; + }; + }; + }; + /** + * Update Project Metadata + * @description Edit project metadata. + */ + update_project_metadata_v1_project_update_post: { + parameters: { + query: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['EditProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Project Metadata + * @description Edit project metadata. + */ + update_project_metadata_v1_project_update__project_id__post: { + parameters: { + path: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['EditProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Search Semantic */ + search_semantic_v1_project_search_vector_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + }; + }; + /** Search Semantic Id */ + search_semantic_id_v1_project_search_id_get: { + parameters: { + query: { + /** @description The ID of the project. */ + project_id: string; + /** @description The ID of the projection. */ + projection_id: string; + /** @description The tiles to be used, as a JSON-encoded list. */ + tiles: string; + /** @description The tile index where the search embedding is located */ + tix: number; + /** @description The row number of the embedding in its quadtree tile */ + rix: number; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Project Name Search */ + project_name_search_v1_project_search_name_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectNameSearchRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectNameSearchResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Create New Project + * @description Create a project associated with an organization. + */ + create_new_project_v1_project_create_post: { + requestBody: { + content: { + 'application/json': components['schemas']['CreateProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['ProjectCreatedResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove A Project + * @description Remove a project associated with an organization. + * Additionally, kick off background tasks to remove other projects that are not fully deleted. + */ + remove_a_project_v1_project_remove_post: { + requestBody: { + content: { + 'application/json': components['schemas']['RemoveProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove A Index + * @description Remove an index + */ + remove_a_index_v1_project_index_remove_post: { + requestBody: { + content: { + 'application/json': components['schemas']['RemoveIndexRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Project Indices + * @deprecated + * @description Updates the indices in a project that has unindexed progressively added data + */ + update_project_indices_v1_project_update_indices_post: { + requestBody: { + content: { + 'application/json': components['schemas']['UpdateProjectIndicesRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['UpdateProjectIndicesResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Data Delete + * @description Deletes datums and corresponding atoms from the project. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + data_delete_v1_project_data_delete_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectDataDeleteRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Data Update + * @description Updates the requested datums. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + data_update_v1_project_data_update_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectDataUpdateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Data Get Arrow + * @description Export data as arrow format for a project and/or index + */ + data_get_arrow_v1_project_data_get_arrow_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectDataArrowExportRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Add Arrow + * @description Add data to a project in arrow format. + */ + add_arrow_v1_project_data_add_arrow_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + }; + }; + /** + * Add Blob + * @description Add blob to S3 for usage within a map + */ + add_blob_v1_project_data_add_blobs_post: { + requestBody: { + content: { + 'multipart/form-data': components['schemas']['Body_add_blob_v1_project_data_add_blobs_post']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AddBlobResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Data Get Blob */ + data_get_blob_v1_project_data_get_blob__dataset_id___blob_hash__get: { + parameters: { + path: { + dataset_id: string; + blob_hash: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['GetBlobResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Nearest Neighbors By Embedding */ + nearest_neighbors_by_embedding_v1_project_data_get_nearest_neighbors_by_embedding_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Nearest Neighbors By Ids Arrow */ + nearest_neighbors_by_ids_arrow_v1_project_data_get_arrow_nearest_neighbors_by_id_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborByIDRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Nearest Neighbors By Ids */ + nearest_neighbors_by_ids_v1_project_data_get_nearest_neighbors_by_id_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborByIDRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Data Topic Query */ + data_topic_query_v1_project_data_get_embedding_topic_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingTopicRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Get Embedding Page Endpoint + * @description Get a page of embedding data for a project + */ + get_embedding_page_endpoint_v1_project_data_get_embedding_paged_post: { + requestBody: { + content: { + 'application/json': components['schemas']['PagedEmbeddingRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Get Datums By Ids External */ + get_datums_by_ids_external_v1_project_data_get_post: { + requestBody: { + content: { + 'application/json': components['schemas']['GetDatumRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['GetDatumResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Atoms Get */ + atoms_get_v1_project_atoms_get_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomsRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomsResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Create Index + * @description Creates an index and returns the job id of the index creation job. + */ + create_index_v1_project_index_create_post: { + requestBody: { + content: { + 'application/json': components['schemas']['CreateAtlasIndexRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['CreateAtlasIndexResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Index Job + * @description Fetches an index job to the front-end. + */ + fetch_index_job_v1_project_index_job__job_id__get: { + parameters: { + path: { + job_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['IndexJob']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Job Progress + * @description Fetches latest job data by index id. + */ + fetch_job_progress_v1_project_index_job_progress__index_id__get: { + parameters: { + path: { + index_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['JobProgressResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Job System State + * @description Gets the state of the job system for a particular atlas index. + */ + fetch_job_system_state_v1_project_jobs_status__index_id__get: { + parameters: { + path: { + index_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['JobSystemIndexStatusResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Quadtree Manifest */ + quadtree_manifest_v1_project__project_id__index_projection__projection_id__quadtree_manifest_feather_get: { + parameters: { + path: { + project_id: string; + projection_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Quadtree Tile + * @description Fetches a quadtree tile to the front-end. + */ + fetch_quadtree_tile_v1_project__project_id__index_projection__projection_id__quadtree__quadtree_key__get: { + parameters: { + path: { + project_id: string; + projection_id: string; + quadtree_key: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Fetch Quadtree Tile With Payload */ + fetch_quadtree_tile_with_payload_v1_project__project_id__index_projection__projection_id__quadtree__quadtree_key__post: { + parameters: { + path: { + project_id: string; + projection_id: string; + quadtree_key: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Fetch Schema */ + fetch_schema_v1_project_projection__projection_id__schema_get: { + parameters: { + path: { + projection_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Topic Density */ + topic_density_v1_project__atlas_index_id__topic_density_post: { + parameters: { + path: { + atlas_index_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['TopicDensityRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['TopicDensityResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Map Information + * @description Fetches all information about a map such as topics, defaults, etc. + */ + fetch_map_information_v1_project__project_id__index_projection__projection_id__get: { + parameters: { + path: { + project_id: string; + projection_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectionResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Add Tag + * @description Adds tag labels to atoms or datums. + * If column names contains a field called 'type' which equals datum_ids, interprets the column as datum_ids. + */ + add_tag_v1_project_tag_add_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + }; + }; + /** + * Delete Atom Tag + * @description Given tag labels and atom ids, deletes atom id associations to those labels. + */ + delete_atom_tag_v1_project_tag_delete_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + }; + }; + /** + * Read Atom Tag + * @description Given tag labels, returns back map positions and ids + */ + read_atom_tag_v1_project_tag_read_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomTagReadRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomTagReadResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Read Atom Tag By Datums + * @description Reads all tags associated with datums. + */ + read_atom_tag_by_datums_v1_project_tag_read_all_by_datum_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomTagAllByDatumRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomTagAllByDatumResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * List Unique Atom Tags By Index + * @description Lists all unique atom tags that have been added to an index + */ + list_unique_atom_tags_by_index_v1_project_tag_list_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomTagListRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomTagUniqueListResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Projection Alias + * @description Fetches project id and projection id from an alias. + */ + fetch_projection_alias_v1_project_projection_alias__projection_alias__get: { + parameters: { + path: { + projection_alias: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectionAliasResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Projection Alias + * @description Edit or add projection alias. + */ + update_projection_alias_v1_project_projection_alias_edit__project_id__post: { + parameters: { + path: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['EditProjectionAliasRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Projection Alias By Projection Id + * @description Get projection alias by projection id. + */ + fetch_projection_alias_by_projection_id_v1_project_projection_alias_get__project_id__post: { + parameters: { + path: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['GetProjectionAliasRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['GetProjectionAliasResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Topic Model + * @description Updates a topic model geojson with updates to topic position or topic label. + * Currently accomplishes this by accepting an entirely new geojson and replacing + * existing one. Will eventually be more granular than that. + */ + update_topic_model_v1_project_topics_update__topic_model_id__post: { + parameters: { + path: { + topic_model_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['UpdateTopicModelRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Search User + * @description Searches against users by nickname and email who are non in the organization of the user performing search. + * This endpoint is used when attempting to invite users to an organization. + */ + search_user_v1_project_search_user_post: { + requestBody: { + content: { + 'application/json': components['schemas']['SearchUserProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SearchUserResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + fetch_project_by_slug_v1_project__organization_slug__project__project_slug__get: { + parameters: { + path: { + organization_slug: unknown; + project_slug: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['Project']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + fetch_project_by_slug_v1_project__organization_slug___project_slug__get: { + parameters: { + path: { + organization_slug: unknown; + project_slug: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['Project']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Projection View From Hash + * @description Fetches state-view variables for a projection. + */ + fetch_projection_view_from_hash_v1_project_projection__projection_id__view__state_hash__get: { + parameters: { + path: { + projection_id: string; + state_hash: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Create Hash + * @description sets a projection state on a project + */ + create_hash_v1_project_projection__projection_id__view_post: { + parameters: { + path: { + projection_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['CreateProjectionViewRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Get Dataset Members + * @description Fetches all dataset members + */ + get_dataset_members_v1_project__dataset_id__members_get: { + parameters: { + path: { + dataset_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['DatasetMembershipWithPicture'][]; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Add Dataset Member + * @description Add a dataset member + */ + add_dataset_member_v1_project__dataset_id__members_add_post: { + parameters: { + path: { + dataset_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['DatasetMemberCreateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove Dataset Member + * @description Remove a dataset member + */ + remove_dataset_member_v1_project__dataset_id__members_delete_post: { + parameters: { + path: { + dataset_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['DatasetMemberDeleteRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Dataset Member + * @description Update a dataset member role + */ + update_dataset_member_v1_project__dataset_id__members_update_post: { + parameters: { + path: { + dataset_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['DatasetMemberUpdateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Project + * @description Fetches all details about a project. + */ + fetch_project_v1_dataset_project__project_id__get: { + parameters: { + path: { + project_id: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['Project']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Project Gallery + * @description Fetches all projects in the gallery + */ + fetch_project_gallery_v1_dataset_project_hub_gallery_get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectGalleryResponse']; + }; + }; + }; + }; + /** + * Fetch All Project + * @deprecated + * @description Fetches all project for authenticated user. + */ + fetch_all_project_v1_dataset_project_sidebar_list_get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectsResponse']; + }; + }; + }; + }; + /** + * Fetch All Project + * @description Fetches all project for authenticated user. + */ + fetch_all_project_v1_dataset_project__get: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectsResponse']; + }; + }; + }; + }; + /** + * Update Project Metadata + * @description Edit project metadata. + */ + update_project_metadata_v1_dataset_project_update_post: { + parameters: { + query: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['EditProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Project Metadata + * @description Edit project metadata. + */ + update_project_metadata_v1_dataset_project_update__project_id__post: { + parameters: { + path: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['EditProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Search Semantic */ + search_semantic_v1_dataset_project_search_vector_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + }; + }; + /** Search Semantic Id */ + search_semantic_id_v1_dataset_project_search_id_get: { + parameters: { + query: { + /** @description The ID of the project. */ + project_id: string; + /** @description The ID of the projection. */ + projection_id: string; + /** @description The tiles to be used, as a JSON-encoded list. */ + tiles: string; + /** @description The tile index where the search embedding is located */ + tix: number; + /** @description The row number of the embedding in its quadtree tile */ + rix: number; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Project Name Search */ + project_name_search_v1_dataset_project_search_name_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectNameSearchRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectNameSearchResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Create New Project + * @description Create a project associated with an organization. + */ + create_new_project_v1_dataset_project_create_post: { + requestBody: { + content: { + 'application/json': components['schemas']['CreateProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['ProjectCreatedResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove A Project + * @description Remove a project associated with an organization. + * Additionally, kick off background tasks to remove other projects that are not fully deleted. + */ + remove_a_project_v1_dataset_project_remove_post: { + requestBody: { + content: { + 'application/json': components['schemas']['RemoveProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove A Index + * @description Remove an index + */ + remove_a_index_v1_dataset_project_index_remove_post: { + requestBody: { + content: { + 'application/json': components['schemas']['RemoveIndexRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Project Indices + * @deprecated + * @description Updates the indices in a project that has unindexed progressively added data + */ + update_project_indices_v1_dataset_project_update_indices_post: { + requestBody: { + content: { + 'application/json': components['schemas']['UpdateProjectIndicesRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['UpdateProjectIndicesResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Data Delete + * @description Deletes datums and corresponding atoms from the project. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + data_delete_v1_dataset_project_data_delete_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectDataDeleteRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Data Update + * @description Updates the requested datums. Does not reflect in project/index state until an + * index update call if made (transaction commit) + */ + data_update_v1_dataset_project_data_update_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectDataUpdateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Data Get Arrow + * @description Export data as arrow format for a project and/or index + */ + data_get_arrow_v1_dataset_project_data_get_arrow_post: { + requestBody: { + content: { + 'application/json': components['schemas']['ProjectDataArrowExportRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Add Arrow + * @description Add data to a project in arrow format. + */ + add_arrow_v1_dataset_project_data_add_arrow_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + }; + }; + /** + * Add Blob + * @description Add blob to S3 for usage within a map + */ + add_blob_v1_dataset_project_data_add_blobs_post: { + requestBody: { + content: { + 'multipart/form-data': components['schemas']['Body_add_blob_v1_dataset_project_data_add_blobs_post']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AddBlobResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Data Get Blob */ + data_get_blob_v1_dataset_project_data_get_blob__dataset_id___blob_hash__get: { + parameters: { + path: { + dataset_id: string; + blob_hash: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['GetBlobResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Nearest Neighbors By Embedding */ + nearest_neighbors_by_embedding_v1_dataset_project_data_get_nearest_neighbors_by_embedding_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Nearest Neighbors By Ids Arrow */ + nearest_neighbors_by_ids_arrow_v1_dataset_project_data_get_arrow_nearest_neighbors_by_id_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborByIDRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Nearest Neighbors By Ids */ + nearest_neighbors_by_ids_v1_dataset_project_data_get_nearest_neighbors_by_id_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborByIDRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['EmbeddingNeighborResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Data Topic Query */ + data_topic_query_v1_dataset_project_data_get_embedding_topic_post: { + requestBody: { + content: { + 'application/json': components['schemas']['EmbeddingTopicRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Get Embedding Page Endpoint + * @description Get a page of embedding data for a project + */ + get_embedding_page_endpoint_v1_dataset_project_data_get_embedding_paged_post: { + requestBody: { + content: { + 'application/json': components['schemas']['PagedEmbeddingRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Get Datums By Ids External */ + get_datums_by_ids_external_v1_dataset_project_data_get_post: { + requestBody: { + content: { + 'application/json': components['schemas']['GetDatumRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['GetDatumResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Atoms Get */ + atoms_get_v1_dataset_project_atoms_get_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomsRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomsResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Create Index + * @description Creates an index and returns the job id of the index creation job. + */ + create_index_v1_dataset_project_index_create_post: { + requestBody: { + content: { + 'application/json': components['schemas']['CreateAtlasIndexRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['CreateAtlasIndexResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Index Job + * @description Fetches an index job to the front-end. + */ + fetch_index_job_v1_dataset_project_index_job__job_id__get: { + parameters: { + path: { + job_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['IndexJob']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Job Progress + * @description Fetches latest job data by index id. + */ + fetch_job_progress_v1_dataset_project_index_job_progress__index_id__get: { + parameters: { + path: { + index_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['JobProgressResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Job System State + * @description Gets the state of the job system for a particular atlas index. + */ + fetch_job_system_state_v1_dataset_project_jobs_status__index_id__get: { + parameters: { + path: { + index_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['JobSystemIndexStatusResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Quadtree Manifest */ + quadtree_manifest_v1_dataset_project__project_id__index_projection__projection_id__quadtree_manifest_feather_get: { + parameters: { + path: { + project_id: string; + projection_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Quadtree Tile + * @description Fetches a quadtree tile to the front-end. + */ + fetch_quadtree_tile_v1_dataset_project__project_id__index_projection__projection_id__quadtree__quadtree_key__get: { + parameters: { + path: { + project_id: string; + projection_id: string; + quadtree_key: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Fetch Quadtree Tile With Payload */ + fetch_quadtree_tile_with_payload_v1_dataset_project__project_id__index_projection__projection_id__quadtree__quadtree_key__post: { + parameters: { + path: { + project_id: string; + projection_id: string; + quadtree_key: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Fetch Schema */ + fetch_schema_v1_dataset_project_projection__projection_id__schema_get: { + parameters: { + path: { + projection_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Topic Density */ + topic_density_v1_dataset_project__atlas_index_id__topic_density_post: { + parameters: { + path: { + atlas_index_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['TopicDensityRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['TopicDensityResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Map Information + * @description Fetches all information about a map such as topics, defaults, etc. + */ + fetch_map_information_v1_dataset_project__project_id__index_projection__projection_id__get: { + parameters: { + path: { + project_id: string; + projection_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectionResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Add Tag + * @description Adds tag labels to atoms or datums. + * If column names contains a field called 'type' which equals datum_ids, interprets the column as datum_ids. + */ + add_tag_v1_dataset_project_tag_add_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + }; + }; + /** + * Delete Atom Tag + * @description Given tag labels and atom ids, deletes atom id associations to those labels. + */ + delete_atom_tag_v1_dataset_project_tag_delete_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + }; + }; + /** + * Read Atom Tag + * @description Given tag labels, returns back map positions and ids + */ + read_atom_tag_v1_dataset_project_tag_read_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomTagReadRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomTagReadResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Read Atom Tag By Datums + * @description Reads all tags associated with datums. + */ + read_atom_tag_by_datums_v1_dataset_project_tag_read_all_by_datum_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomTagAllByDatumRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomTagAllByDatumResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * List Unique Atom Tags By Index + * @description Lists all unique atom tags that have been added to an index + */ + list_unique_atom_tags_by_index_v1_dataset_project_tag_list_post: { + requestBody: { + content: { + 'application/json': components['schemas']['AtomTagListRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['AtomTagUniqueListResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Projection Alias + * @description Fetches project id and projection id from an alias. + */ + fetch_projection_alias_v1_dataset_project_projection_alias__projection_alias__get: { + parameters: { + path: { + projection_alias: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['ProjectionAliasResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Projection Alias + * @description Edit or add projection alias. + */ + update_projection_alias_v1_dataset_project_projection_alias_edit__project_id__post: { + parameters: { + path: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['EditProjectionAliasRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Projection Alias By Projection Id + * @description Get projection alias by projection id. + */ + fetch_projection_alias_by_projection_id_v1_dataset_project_projection_alias_get__project_id__post: { + parameters: { + path: { + project_id: unknown; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['GetProjectionAliasRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['GetProjectionAliasResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Topic Model + * @description Updates a topic model geojson with updates to topic position or topic label. + * Currently accomplishes this by accepting an entirely new geojson and replacing + * existing one. Will eventually be more granular than that. + */ + update_topic_model_v1_dataset_project_topics_update__topic_model_id__post: { + parameters: { + path: { + topic_model_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['UpdateTopicModelRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Search User + * @description Searches against users by nickname and email who are non in the organization of the user performing search. + * This endpoint is used when attempting to invite users to an organization. + */ + search_user_v1_dataset_project_search_user_post: { + requestBody: { + content: { + 'application/json': components['schemas']['SearchUserProjectRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SearchUserResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + fetch_project_by_slug_v1_dataset_project__organization_slug__project__project_slug__get: { + parameters: { + path: { + organization_slug: unknown; + project_slug: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['Project']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Project By Slug + * @description Fetches all details about a project. + */ + fetch_project_by_slug_v1_dataset_project__organization_slug___project_slug__get: { + parameters: { + path: { + organization_slug: unknown; + project_slug: unknown; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['Project']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Fetch Projection View From Hash + * @description Fetches state-view variables for a projection. + */ + fetch_projection_view_from_hash_v1_dataset_project_projection__projection_id__view__state_hash__get: { + parameters: { + path: { + projection_id: string; + state_hash: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Create Hash + * @description sets a projection state on a project + */ + create_hash_v1_dataset_project_projection__projection_id__view_post: { + parameters: { + path: { + projection_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['CreateProjectionViewRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Get Dataset Members + * @description Fetches all dataset members + */ + get_dataset_members_v1_dataset_project__dataset_id__members_get: { + parameters: { + path: { + dataset_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['DatasetMembershipWithPicture'][]; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Add Dataset Member + * @description Add a dataset member + */ + add_dataset_member_v1_dataset_project__dataset_id__members_add_post: { + parameters: { + path: { + dataset_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['DatasetMemberCreateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Remove Dataset Member + * @description Remove a dataset member + */ + remove_dataset_member_v1_dataset_project__dataset_id__members_delete_post: { + parameters: { + path: { + dataset_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['DatasetMemberDeleteRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Update Dataset Member + * @description Update a dataset member role + */ + update_dataset_member_v1_dataset_project__dataset_id__members_update_post: { + parameters: { + path: { + dataset_id: string; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['DatasetMemberUpdateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Stripe Subscription + * @description Create stripe subscription checkout session url and send it to front end + */ + stripe_subscription_v1_stripe_subscribe_post: { + requestBody: { + content: { + 'application/json': components['schemas']['StripeSubscriptionCreateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['StripeSubscriptionCreateResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Set Organization Billing Limits + * @description Sets the organization billing limits + */ + set_organization_billing_limits_v1_stripe_set_organization_limits_post: { + requestBody: { + content: { + 'application/json': components['schemas']['SetOrganizationLimitsRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SetOrganizationLimitsResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Cancel Stripe Subscription + * @description Create stripe subscription checkout session url and send it to front end + */ + cancel_stripe_subscription_v1_stripe_cancel_post: { + requestBody: { + content: { + 'application/json': components['schemas']['StripeSubscriptionCreateRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** + * Webhook Received + * @description Monitor stripe webhook triggered events + */ + webhook_received_v1_stripe_webhook_post: { + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + }; + }; + /** + * Embed Text + * @description Generates text embeddings + */ + embed_text_v1_embedding_text_post: { + parameters: { + query?: { + /** @description Use semantic search mode */ + semantic_search?: boolean; + }; + }; + requestBody: { + content: { + 'application/json': components['schemas']['TextEmbeddingInferenceRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['TextEmbeddingInferenceResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Create Tag Request */ + create_tag_request_v1_project_projection_tags_create_post: { + requestBody: { + content: { + 'application/json': components['schemas']['TagRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['TagResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Tag Mask Request */ + tag_mask_request_v1_project_projection_tags_update_mask_post: { + responses: { + /** @description Successful Response */ + 201: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + }; + }; + /** Delete Tag Request */ + delete_tag_request_v1_project_projection_tags_delete_post: { + requestBody: { + content: { + 'application/json': components['schemas']['TagWithIdRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Update Tag Request */ + update_tag_request_v1_project_projection_tags_update_post: { + requestBody: { + content: { + 'application/json': + | components['schemas']['UpdateTagNameRequest'] + | components['schemas']['UpdateTagDefinitionRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': unknown; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Get Tag Request */ + get_tag_request_v1_project_projection_tags_get_get: { + parameters: { + query: { + project_id: string; + tag_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['TagResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Get Tags In Projection Request */ + get_tags_in_projection_request_v1_project_projection_tags_get_all_get: { + parameters: { + query: { + /** @description The project UUID. */ + project_id: string; + /** @description The projection UUID. */ + projection_id: string; + /** @description Whether to return the full DSL rule for all tags */ + include_dsl_rule?: boolean; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['TagResponse'][]; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Get Tag Status */ + get_tag_status_v1_project_projection_tags_status_get: { + parameters: { + query: { + project_id: string; + tag_id: string; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['TagStatus']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Tag Projection Job Request */ + tag_projection_job_request_v1_project_projection_tags_robotag_post: { + requestBody: { + content: { + 'application/json': components['schemas']['TagWithIdRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['SuccessResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; + /** Reduce Dimensionality By Embedding */ + reduce_dimensionality_by_embedding_v1_reduce__post: { + requestBody: { + content: { + 'application/json': components['schemas']['DimensionalityReductionRequest']; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + 'application/json': components['schemas']['DimensionalityReductionResponse']; + }; + }; + /** @description Validation Error */ + 422: { + content: { + 'application/json': components['schemas']['HTTPValidationError']; + }; + }; + }; + }; +} diff --git a/src/global.d.ts b/src/global.d.ts index 9182c27..139986b 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -3,9 +3,22 @@ declare namespace Atlas { type LoadProjectOptions = { project_id: UUID; }; + + /** + * Options for the nearest neighbors query. + */ type NNOptions = { + /** + * The datum_ids (i.e., user-specified keys) to query for. + */ datum_ids?: string[]; + /** + * The Atom IDs (Nomic-generated integers) to query for. + */ atom_ids?: string[]; + /** + * The number of nearest neighbors to return. + */ k?: number; }; diff --git a/src/organization.ts b/src/organization.ts index 908a3e7..61a6cfc 100644 --- a/src/organization.ts +++ b/src/organization.ts @@ -1,16 +1,11 @@ import { AtlasUser, BaseAtlasClass, get_env_user } from './user.js'; import { AtlasDataset } from './project.js'; - +import type { components } from 'api-raw-types.js'; type UUID = string; -type OrganizationInfo = { - id: UUID; - projects: OrganizationProjectInfo[]; -}; - -export type OrganizationProjectInfo = { - id: UUID; -}; +export type OrganizationInfo = + | components['schemas']['PublicOrganizationResponse'] + | components['schemas']['Organization']; type ProjectInitOptions = { project_name: string; diff --git a/src/project.ts b/src/project.ts index 7174c0f..5adde4c 100644 --- a/src/project.ts +++ b/src/project.ts @@ -4,7 +4,6 @@ import { tableToIPC, tableFromJSON, tableFromIPC } from 'apache-arrow'; import { AtlasUser, get_env_user, BaseAtlasClass } from './user.js'; import { AtlasIndex } from './index.js'; // get the API key from the node environment -import { OrganizationProjectInfo } from 'organization.js'; type UUID = string; export function load_project(options: Atlas.LoadProjectOptions): AtlasDataset { @@ -88,9 +87,12 @@ export class AtlasDataset extends BaseAtlasClass { } } + /** + * + * @returns A list of projection summaries, sorted so that the first is + * the most useable (defined as ready and newest) + */ public async projectionSummaries() { - // Returns a list of projection summaries, sorted so that the first is - // the most useable (defined as ready and newest) const projections = []; const info = await this.info(); for (const index of info.atlas_indices) { @@ -111,17 +113,6 @@ export class AtlasDataset extends BaseAtlasClass { return projections; } - async apiCall( - endpoint: string, - method: 'GET' | 'POST', - payload: Atlas.Payload = null, - headers: null | Record = null, - options: ApiCallOptions = {} - ) { - const fixedEndpoint = this._fixEndpointURL(endpoint); - return this.user.apiCall(fixedEndpoint, method, payload, headers, options); - } - async delete() { const value = await this.apiCall(`/v1/project/remove`, 'POST', { project_id: this.id, @@ -155,20 +146,11 @@ export class AtlasDataset extends BaseAtlasClass { return `/v1/project/${this.id}`; } - _fixEndpointURL(endpoint: string): string { - // Don't mandate starting with a slash - if (!endpoint.startsWith('/')) { - throw new Error('Must start endpoints with slashes'); - console.warn(`DANGER: endpoint ${endpoint} doesn't start with a slash`); - endpoint = '/' + endpoint; - } - return endpoint; - } - async indices(): Promise { if (this._indices.length > 0) { return this._indices; } + await this.info; const { atlas_indices } = (await this.info()) as Atlas.ProjectInfo; console.log(await this.info(), atlas_indices, 'INFO'); if (atlas_indices === undefined) { diff --git a/src/projection.ts b/src/projection.ts index 3adcbcb..8ec39c3 100644 --- a/src/projection.ts +++ b/src/projection.ts @@ -3,8 +3,9 @@ import { BaseAtlasClass } from './user.js'; import type { AtlasUser } from './user.js'; import { AtlasDataset } from './project.js'; import type { AtlasIndex } from './index.js'; +import { components } from 'api-raw-types.js'; -export type ProjectGetInfo = Record; +export type ProjectGetInfo = components['schemas']['Project']; type UUID = string; @@ -12,10 +13,17 @@ export type DeleteTagRequest = { tag_id: UUID; }; +/** + * Options for initializing a projection. + */ type ProjectionInitializationOptions = { + // The project that this projection belongs to. project?: AtlasDataset; + // The index that this projection belongs to. index?: AtlasIndex; + // The project ID that this projection belongs to. project_id?: UUID; + // The user object to query with. user?: AtlasUser; }; @@ -86,10 +94,20 @@ type TagStatus = { }; export class AtlasProjection extends BaseAtlasClass { + /** + * A projection is a map in Atlas; it represents a snapshot 2d view of a dataset + * at a point in time. Every projection belongs to a Dataset. + */ _project?: AtlasDataset; project_id: UUID; _index?: AtlasIndex; + /** + * + * @param id The UUID of the projection to retrieve. + * @param user The user object to query with. + * @param options Options for initializing the projection. + */ constructor( public id: UUID, user?: AtlasUser, diff --git a/src/user.ts b/src/user.ts index 05f6381..1a983a0 100644 --- a/src/user.ts +++ b/src/user.ts @@ -1,4 +1,4 @@ -import type { OrganizationProjectInfo } from './organization.js'; +import { components } from 'api-raw-types.js'; import { Table, tableFromIPC } from 'apache-arrow'; export const isNode = @@ -298,7 +298,7 @@ export class AtlasUser { * @returns All projects that the user has access to. */ async projects() { - const all_projects: OrganizationProjectInfo[] = []; + const all_projects: components['schemas']['Organization']['projects'] = []; for (const org of await this.organizations()) { const projects = await org.projects(); all_projects.push(...projects); diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000..ed1bf2e --- /dev/null +++ b/typedoc.json @@ -0,0 +1,4 @@ +{ + "entryPoints": ["src/main.ts"], + "out": "docs" +}