generated from mintlify/starter
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathopenapi.json
1 lines (1 loc) · 346 KB
/
openapi.json
1
{"openapi":"3.1.0","info":{"title":"Carbon","version":"1.0.0","x-logo":{"url":"https://i.ibb.co/qBqT3Ft/Group-14-1.png"}},"servers":[{"url":"https://api.carbon.ai"}],"paths":{"/integrations/oauth_url":{"post":{"tags":["Integrations"],"summary":"Get Oauth Url","description":"This endpoint can be used to generate the following URLs\n- An OAuth URL for OAuth based connectors\n- A file syncing URL which skips the OAuth flow if the user already has a valid access token and takes them to the\nsuccess state.","operationId":"get_oauth_url_integrations_oauth_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthURLRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OuthURLResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/connect":{"post":{"tags":["Integrations"],"summary":"Connect Data Source","operationId":"connect_data_source_integrations_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectDataSourceInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectDataSourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/items/sync":{"post":{"tags":["Integrations"],"summary":"Sync Data Source Items","operationId":"sync_data_source_items_integrations_items_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncDirectoryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/items/sync/cancel":{"post":{"tags":["Integrations"],"summary":"Cancel Data Source Items Sync","operationId":"cancel_data_source_items_sync_integrations_items_sync_cancel_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncDirectoryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/items/list":{"post":{"tags":["Integrations"],"summary":"List Data Source Items","operationId":"list_data_source_items_integrations_items_list_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDataSourceItemsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDataSourceItemsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/files/sync":{"post":{"tags":["Integrations"],"summary":"Sync Files","description":"After listing files and folders via /integrations/items/sync and integrations/items/list, use the selected items' external ids \nas the ids in this endpoint to sync them into Carbon. Sharepoint items take an additional parameter root_id, which identifies\nthe drive the file or folder is in and is stored in root_external_id. That additional paramter is optional and excluding it will\ntell the sync to assume the item is stored in the default Documents drive.","operationId":"sync_files_integrations_files_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncFilesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/confluence/list":{"post":{"tags":["Integrations"],"summary":"Confluence List","description":"This endpoint has been deprecated. Use /integrations/items/list instead.\n\nTo begin listing a user's Confluence pages, at least a `data_source_id` of a connected\nConfluence account must be specified. This base request returns a list of root pages for\nevery space the user has access to in a Confluence instance. To traverse further down\nthe user's page directory, additional requests to this endpoint can be made with the same\n`data_source_id` and with `parent_id` set to the id of page from a previous request. For\nconvenience, the `has_children` property in each directory item in the response list will\nflag which pages will return non-empty lists of pages when set as the `parent_id`.","operationId":"confluence_list_integrations_confluence_list_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/confluence/sync":{"post":{"tags":["Integrations"],"summary":"Confluence Sync","description":"This endpoint has been deprecated. Use /integrations/files/sync instead.\n\nAfter listing pages in a user's Confluence account, the set of selected page `ids` and the\nconnected account's `data_source_id` can be passed into this endpoint to sync them into\nCarbon. Additional parameters listed below can be used to associate data to the selected\npages or alter the behavior of the sync.","operationId":"confluence_sync_integrations_confluence_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncFilesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/azure_blob_storage":{"post":{"tags":["Integrations"],"summary":"Azure Blob Storage Auth","description":"This endpoint can be used to connect Azure Blob Storage.\n\nFor Azure Blob Storage, follow these steps:\n<ol>\n <li>Create a new Azure Storage account and grant the following permissions:\n <ul>\n <li>List containers.</li>\n <li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li>\n </ul>\n </li>\n <li>Generate a shared access signature (SAS) token or an access key for the storage account.</li>\n</ol>\n\nOnce created, provide us with the following details to generate the connection URL:\n<ol>\n <li>Storage Account KeyName.</li>\n <li>Storage Account Name.</li>\n</ol>","operationId":"azure_blob_storage_auth_integrations_azure_blob_storage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AzureBlobAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/s3":{"post":{"tags":["Integrations"],"summary":"S3 Auth","description":"This endpoint can be used to connect S3 as well as Digital Ocean Spaces (S3 compatible) \nFor S3, create a new IAM user with permissions to:\n<ol>\n<li>List all buckets.</li>\n<li>Read from the specific buckets and objects to sync with Carbon. Ensure any future buckets or objects carry \nthe same permissions.</li>\n</ol>\nOnce created, generate an access key for this user and share the credentials with us. We recommend testing this key beforehand. \nFor Digital Ocean Spaces, generate the above credentials in your Applications and API page here https://cloud.digitalocean.com/account/api/spaces.\nEndpoint URL is required to connect Digital Ocean Spaces. It should look like <<region>>.digitaloceanspaces.com","operationId":"s3_auth_integrations_s3_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/S3AuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/s3/files":{"post":{"tags":["Integrations"],"summary":"S3 Files","description":"After optionally loading the items via /integrations/items/sync and integrations/items/list, use the bucket name \nand object key as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate \ndata with the selected items or modify the sync behavior","operationId":"s3_files_integrations_s3_files_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/S3FileSyncInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/azure_blob_storage/files":{"post":{"tags":["Integrations"],"summary":"Azure Blob Files","description":"After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name \nand file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate \ndata with the selected items or modify the sync behavior","operationId":"azure_blob_files_integrations_azure_blob_storage_files_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AzureBlobFileSyncInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/gmail/sync":{"post":{"tags":["Integrations"],"summary":"Gmail Sync","description":"Once you have successfully connected your gmail account, you can choose which emails to sync with us\nusing the filters parameter. Filters is a JSON object with key value pairs. It also supports AND and OR operations.\nFor now, we support a limited set of keys listed below.\n\n<b>label</b>: Inbuilt Gmail labels, for example \"Important\" or a custom label you created. \n<b>after</b> or <b>before</b>: A date in YYYY/mm/dd format (example 2023/12/31). Gets emails after/before a certain date.\nYou can also use them in combination to get emails from a certain period. \n<b>is</b>: Can have the following values - starred, important, snoozed, and unread \n<b>from</b>: Email address of the sender \n<b>to</b>: Email address of the recipient \n<b>in</b>: Can have the following values - sent (sync emails sent by the user) \n<b>has</b>: Can have the following values - attachment (sync emails that have attachments) \n\nUsing keys or values outside of the specified values can lead to unexpected behaviour.\n\nAn example of a basic query with filters can be\n```json\n{\n \"filters\": {\n \"key\": \"label\",\n \"value\": \"Test\"\n }\n}\n```\nWhich will list all emails that have the label \"Test\".\n\nYou can use AND and OR operation in the following way:\n```json\n{\n \"filters\": {\n \"AND\": [\n {\n \"key\": \"after\",\n \"value\": \"2024/01/07\"\n },\n {\n \"OR\": [\n {\n \"key\": \"label\",\n \"value\": \"Personal\"\n },\n {\n \"key\": \"is\",\n \"value\": \"starred\"\n }\n ]\n }\n ]\n }\n}\n```\nThis will return emails after 7th of Jan that are either starred or have the label \"Personal\". \nNote that this is the highest level of nesting we support, i.e. you can't add more AND/OR filters within the OR filter\nin the above example.","operationId":"gmail_sync_integrations_gmail_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GmailSyncInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/rss_feed":{"post":{"tags":["Integrations"],"summary":"Rss Feed","operationId":"rss_feed_integrations_rss_feed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RSSFeedInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/outlook/sync":{"post":{"tags":["Integrations"],"summary":"Outlook Sync","description":"Once you have successfully connected your Outlook account, you can choose which emails to sync with us\nusing the filters and folder parameter. \"folder\" should be the folder you want to sync from Outlook. By default\nwe get messages from your inbox folder. \nFilters is a JSON object with key value pairs. It also supports AND and OR operations.\nFor now, we support a limited set of keys listed below.\n\n<b>category</b>: Custom categories that you created in Outlook. \n<b>after</b> or <b>before</b>: A date in YYYY/mm/dd format (example 2023/12/31). Gets emails after/before a certain date. You can also use them in combination to get emails from a certain period. \n<b>is</b>: Can have the following values: flagged \n<b>from</b>: Email address of the sender \n\nAn example of a basic query with filters can be\n```json\n{\n \"filters\": {\n \"key\": \"category\",\n \"value\": \"Test\"\n }\n}\n```\nWhich will list all emails that have the category \"Test\". \n\nSpecifying a custom folder in the same query\n```json\n{\n \"folder\": \"Folder Name\",\n \"filters\": {\n \"key\": \"category\",\n \"value\": \"Test\"\n }\n}\n```\n\nYou can use AND and OR operation in the following way:\n```json\n{\n \"filters\": {\n \"AND\": [\n {\n \"key\": \"after\",\n \"value\": \"2024/01/07\"\n },\n {\n \"OR\": [\n {\n \"key\": \"category\",\n \"value\": \"Personal\"\n },\n {\n \"key\": \"category\",\n \"value\": \"Test\"\n },\n ]\n }\n ]\n }\n}\n```\nThis will return emails after 7th of Jan that have either Personal or Test as category. \nNote that this is the highest level of nesting we support, i.e. you can't add more AND/OR filters within the OR filter\nin the above example.","operationId":"outlook_sync_integrations_outlook_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutlookSyncInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/freshdesk":{"post":{"tags":["Integrations"],"summary":"Freshdesk Connect","description":"Refer this article to obtain an API key https://support.freshdesk.com/en/support/solutions/articles/215517.\nMake sure that your API key has the permission to read solutions from your account and you are on a <b>paid</b> plan.\nOnce you have an API key, you can make a request to this endpoint along with your freshdesk domain. This will \ntrigger an automatic sync of the articles in your \"solutions\" tab. Additional parameters below can be used to associate \ndata with the synced articles or modify the sync behavior.","operationId":"freshdesk_connect_integrations_freshdesk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshDeskConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/outlook/user_folders":{"get":{"tags":["Integrations"],"summary":"Outlook Folders","description":"After connecting your Outlook account, you can use this endpoint to list all of your folders on outlook. This includes \nboth system folders like \"inbox\" and user created folders.","operationId":"outlook_folders_integrations_outlook_user_folders_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"data_source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/outlook/user_categories":{"get":{"tags":["Integrations"],"summary":"Outlook Categories","description":"After connecting your Outlook account, you can use this endpoint to list all of your categories on outlook. We currently\nsupport listing up to 250 categories.","operationId":"outlook_categories_integrations_outlook_user_categories_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"data_source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/gmail/user_labels":{"get":{"tags":["Integrations"],"summary":"Gmail Labels","description":"After connecting your Gmail account, you can use this endpoint to list all of your labels. User created labels\nwill have the type \"user\" and Gmail's default labels will have the type \"system\"","operationId":"gmail_labels_integrations_gmail_user_labels_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"data_source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/gitbook":{"post":{"tags":["Integrations"],"summary":"Gitbook Connect","description":"You will need an access token to connect your Gitbook account. Note that the permissions will be defined by the user \ngenerating access token so make sure you have the permission to access spaces you will be syncing. \nRefer this article for more details https://developer.gitbook.com/gitbook-api/authentication. Additionally, you\nneed to specify the name of organization you will be syncing data from.","operationId":"gitbook_connect_integrations_gitbook_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitbookConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/gitbook/spaces":{"get":{"tags":["Integrations"],"summary":"Gitbook Spaces","description":"After connecting your Gitbook account, you can use this endpoint to list all of your spaces under current organization.","operationId":"gitbook_spaces_integrations_gitbook_spaces_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"data_source_id","in":"query","required":true,"schema":{"type":"integer","title":"Data Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/gitbook/sync":{"post":{"tags":["Integrations"],"summary":"Gitbook Sync","description":"You can sync upto 20 Gitbook spaces at a time using this endpoint. Additional parameters below can be used to associate \ndata with the synced pages or modify the sync behavior.","operationId":"gitbook_sync_integrations_gitbook_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitbookSyncRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/github":{"post":{"tags":["Integrations"],"summary":"Github Connect","description":"Refer this article to obtain an access token https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens.\nMake sure that your access token has the permission to read content from your desired repos. Note that if your access token\nexpires you will need to manually update it through this endpoint.","operationId":"github_connect_integrations_github_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GithubConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/github/repos":{"get":{"tags":["Integrations"],"summary":"Github List Repos","description":"Once you have connected your GitHub account, you can use this endpoint to list the \n repositories your account has access to. You can use a data source ID or username to fetch from a specific account.","operationId":"github_list_repos_integrations_github_repos_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Per Page"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"data_source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/github/sync_repos":{"post":{"tags":["Integrations"],"summary":"Github Sync Repos","description":"You can retreive repos your token has access to using /integrations/github/repos and sync their content. \nYou can also pass full name of any public repository (username/repo-name). This will store the repo content with \ncarbon which can be accessed through /integrations/items/list endpoint. Maximum of 25 repositories are accepted per request.","operationId":"github_sync_repos_integrations_github_sync_repos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GithubFetchReposRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/slack/conversations":{"get":{"tags":["Integrations"],"summary":"Slack List Conversations","description":"List all of your public and private channels, DMs, and Group DMs. The ID from response \ncan be used as a filter to sync messages to Carbon \ntypes: Comma separated list of types. Available types are im (DMs), mpim (group DMs), public_channel, and private_channel.\nDefaults to public_channel. \ncursor: Used for pagination. If next_cursor is returned in response, you need to pass it as the cursor in the next request \ndata_source_id: Data source needs to be specified if you have linked multiple slack accounts \nexclude_archived: Should archived conversations be excluded, defaults to true","operationId":"slack_list_conversations_integrations_slack_conversations_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"types","in":"query","required":false,"schema":{"type":"string","default":"public_channel","title":"Types"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"data_source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"}},{"name":"exclude_archived","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Exclude Archived"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/slack/sync":{"post":{"tags":["Integrations"],"summary":"Slack Sync","description":"You can list all conversations using the endpoint /integrations/slack/conversations. The ID of \nconversation will be used as an input for this endpoint with timestamps as optional filters.","operationId":"slack_sync_integrations_slack_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackSyncRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/guru":{"post":{"tags":["Integrations"],"summary":"Guru Connect","description":"You will need an access token to connect your Guru account. To obtain an access token, follow the steps highlighted here\nhttps://help.getguru.com/docs/gurus-api#obtaining-a-user-token. The username should be your Guru username.","operationId":"guru_connect_integrations_guru_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuruConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/sharepoint/sites/list":{"get":{"tags":["Integrations"],"summary":"List Sharepoint Sites","description":"List all Sharepoint sites in the connected tenant. The site names from the response can be\nused as the site name when connecting a Sharepoint site. If site name is null in the response, then site name should\nbe left null when connecting to the site.\n\nThis endpoint requires an additional Sharepoint scope: \"Sites.Read.All\". Include this scope along with the default\nSharepoint scopes to list Sharepoint sites, connect to a site, and finally sync files from the site. The default\nSharepoint scopes are: [o, p, e, n, i, d, , o, f, f, l, i, n, e, _, a, c, c, e, s, s, , U, s, e, r, ., R, e, a, d, , F, i, l, e, s, ., R, e, a, d, ., A, l, l].\n \ndata_soure_id: Data source needs to be specified if you have linked multiple Sharepoint accounts\ncursor: Used for pagination. If next_cursor is returned in response, you need to pass it as the cursor in the next request","operationId":"list_sharepoint_sites_integrations_sharepoint_sites_list_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"data_source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/document360":{"post":{"tags":["Integrations"],"summary":"Document360 Connect","description":"You will need an access token to connect your Document360 account. To obtain an access token, follow the steps highlighted \nhere https://apidocs.document360.com/apidocs/api-token.","operationId":"document360_connect_integrations_document360_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Document360ConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/auth/v1/access_token":{"get":{"tags":["Auth"],"summary":"Get Access Token","operationId":"get_access_token_auth_v1_access_token_get","parameters":[{"name":"authorization","in":"header","required":true,"schema":{"type":"string","title":"Authorization"}},{"name":"customer-id","in":"header","required":true,"schema":{"type":"string","title":"Customer-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/v1/white_labeling":{"get":{"tags":["Auth"],"summary":"Get White Labeling","description":"Returns whether or not the organization is white labeled and which integrations are white labeled\n\n:param current_user: the current user\n:param db: the database session\n:return: a WhiteLabelingResponse","operationId":"get_white_labeling_auth_v1_white_labeling_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhiteLabelingResponse"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/embeddings":{"post":{"tags":["Embeddings"],"summary":"Embeddings","description":"For pre-filtering documents, using `tags_v2` is preferred to using `tags` (which is now deprecated). If both `tags_v2`\nand `tags` are specified, `tags` is ignored. `tags_v2` enables\nbuilding complex filters through the use of \"AND\", \"OR\", and negation logic. Take the below input as an example:\n```json\n{\n \"OR\": [\n {\n \"key\": \"subject\",\n \"value\": \"holy-bible\",\n \"negate\": false\n },\n {\n \"key\": \"person-of-interest\",\n \"value\": \"jesus christ\",\n \"negate\": false\n },\n {\n \"key\": \"genre\",\n \"value\": \"religion\",\n \"negate\": true\n }\n {\n \"AND\": [\n {\n \"key\": \"subject\",\n \"value\": \"tao-te-ching\",\n \"negate\": false\n },\n {\n \"key\": \"author\",\n \"value\": \"lao-tzu\",\n \"negate\": false\n }\n ]\n }\n ]\n}\n```\nIn this case, files will be filtered such that:\n1. \"subject\" = \"holy-bible\" OR\n2. \"person-of-interest\" = \"jesus christ\" OR\n3. \"genre\" != \"religion\" OR\n4. \"subject\" = \"tao-te-ching\" AND \"author\" = \"lao-tzu\"\n\nNote that the top level of the query must be either an \"OR\" or \"AND\" array. Currently, nesting is limited to 3.\nFor tag blocks (those with \"key\", \"value\", and \"negate\" keys), the following typing rules apply:\n1. \"key\" isn't optional and must be a `string`\n2. \"value\" isn't optional and can be `any` or list[`any`]\n3. \"negate\" is optional and must be `true` or `false`. If present and `true`, then the filter block is negated in\nthe resulting query. It is `false` by default.\n\n\nWhen querying embeddings, you can optionally specify the `media_type` parameter in your request. By default (if\nnot set), it is equal to \"TEXT\". This means that the query will be performed over files that have\nbeen parsed as text (for now, this covers all files except image files). If it is equal to \"IMAGE\",\nthe query will be performed over image files (for now, `.jpg` and `.png` files). You can think of this\nfield as an additional filter on top of any filters set in `file_ids` and\n\n\nWhen `hybrid_search` is set to true, a combination of keyword search and semantic search are used to rank\nand select candidate embeddings during information retrieval. By default, these search methods are weighted\nequally during the ranking process. To adjust the weight (or \"importance\") of each search method, you can use\nthe `hybrid_search_tuning_parameters` property. The description for the different tuning parameters are:\n- `weight_a`: weight to assign to semantic search\n- `weight_b`: weight to assign to keyword search\n\nYou must ensure that `sum(weight_a, weight_b,..., weight_n)` for all *n* weights is equal to 1. The equality\nhas an error tolerance of 0.001 to account for possible floating point issues.\n\nIn order to use hybrid search for a customer across a set of documents, two flags need to be enabled:\n1. Use the `/modify_user_configuration` endpoint to to enable `sparse_vectors` for the customer. The payload\nbody for this request is below:\n```\n{\n \"configuration_key_name\": \"sparse_vectors\",\n \"value\": {\n \"enabled\": true\n }\n}\n```\n2. Make sure hybrid search is enabled for the documents across which you want to perform the search. For the\n`/uploadfile` endpoint, this can be done by setting the following query parameter: `generate_sparse_vectors=true`\n\n\nCarbon supports multiple models for use in generating embeddings for files. For images, we support Vertex AI's\nmultimodal model; for text, we support OpenAI's `text-embedding-ada-002` and Cohere's embed-multilingual-v3.0.\nThe model can be specified via the `embedding_model` parameter (in the POST body for `/embeddings`, and a query \nparameter in `/uploadfile`). If no model is supplied, the `text-embedding-ada-002` is used by default. When performing\nembedding queries, embeddings from files that used the specified model will be considered in the query.\nFor example, if files A and B have embeddings generated with `OPENAI`, and files C and D have embeddings generated with\n`COHERE_MULTILINGUAL_V3`, then by default, queries will only consider files A and B. If `COHERE_MULTILINGUAL_V3` is\nspecified as the `embedding_model` in `/embeddings`, then only files C and D will be considered. Make sure that\nthe set of all files you want considered for a query have embeddings generated via the same model. For now, **do not**\nset `VERTEX_MULTIMODAL` as an `embedding_model`. This model is used automatically by Carbon when it detects an image file.","operationId":"embeddings_embeddings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetEmbeddingDocumentsBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponseList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/text_chunks":{"post":{"tags":["Embeddings"],"summary":"Retrieve Embeddings And Content","operationId":"retrieve_embeddings_and_content_text_chunks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsAndChunksQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsAndChunksResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/list_chunks_and_embeddings":{"post":{"tags":["Embeddings"],"summary":"Retrieve Embeddings And Content V2","operationId":"retrieve_embeddings_and_content_v2_list_chunks_and_embeddings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsAndChunksQueryInputV2"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsAndChunksResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/upload_chunks_and_embeddings":{"post":{"tags":["Embeddings"],"summary":"Upload Chunks And Embeddings","operationId":"upload_chunks_and_embeddings_upload_chunks_and_embeddings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunksAndEmbeddingsUploadInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/organization":{"get":{"tags":["Organizations"],"summary":"Get Organization","operationId":"get_organization_organization_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationResponse"}}}}},"security":[{"apiKey":[]}]}},"/organization/update":{"post":{"tags":["Organizations"],"summary":"Update Organization","operationId":"update_organization_organization_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/organization/statistics":{"post":{"tags":["Organizations"],"summary":"Update Organization Statistics","description":"Use this endpoint to reaggregate the statistics for an organization, for example aggregate_file_size. The reaggregation\nprocess is asyncronous so a webhook will be sent with the event type being FILE_STATISTICS_AGGREGATED to notify when the\nprocess is complee. After this aggregation is complete, the updated statistics can be retrieved using the /organization\nendpoint. The response of /organization willalso contain a timestamp of the last time the statistics were reaggregated.","operationId":"update_organization_statistics_organization_statistics_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}}},"security":[{"apiKey":[]}]}},"/user":{"post":{"tags":["Users"],"summary":"User Endpoint","operationId":"user_endpoint_user_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRequestContent"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/whoami":{"get":{"tags":["Users"],"summary":"Me Endpoint","operationId":"me_endpoint_whoami_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/modify_user_configuration":{"post":{"tags":["Users"],"summary":"Toggle User Features","operationId":"toggle_user_features_modify_user_configuration_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyUserConfigurationInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/delete_users":{"post":{"tags":["Users"],"summary":"Delete Users","operationId":"delete_users_delete_users_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUsersInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/update_users":{"post":{"tags":["Users"],"summary":"Update Users","operationId":"update_users_update_users_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUsersInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/list_users":{"post":{"tags":["Users"],"summary":"List Users Endpoint","description":"List users within an organization","operationId":"list_users_endpoint_list_users_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUsersRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/uploadfile":{"post":{"tags":["Files"],"summary":"Create Upload File","description":"This endpoint is used to directly upload local files to Carbon. The `POST` request should be a multipart form request.\nNote that the `set_page_as_boundary` query parameter is applicable only to PDFs for now. When this value is set,\nPDF chunks are at most one page long. Additional information can be retrieved for each chunk, however, namely the coordinates\nof the bounding box around the chunk (this can be used for things like text highlighting). Following is a description\nof all possible query parameters:\n- `chunk_size`: the chunk size (in tokens) applied when splitting the document\n- `chunk_overlap`: the chunk overlap (in tokens) applied when splitting the document\n- `skip_embedding_generation`: whether or not to skip the generation of chunks and embeddings\n- `set_page_as_boundary`: described above\n- `embedding_model`: the model used to generate embeddings for the document chunks\n- `use_ocr`: whether or not to use OCR as a preprocessing step prior to generating chunks. Valid for PDFs, JPEGs, and PNGs\n- `generate_sparse_vectors`: whether or not to generate sparse vectors for the file. Required for hybrid search.\n- `prepend_filename_to_chunks`: whether or not to prepend the filename to the chunk text\n\n\nCarbon supports multiple models for use in generating embeddings for files. For images, we support Vertex AI's\nmultimodal model; for text, we support OpenAI's `text-embedding-ada-002` and Cohere's embed-multilingual-v3.0.\nThe model can be specified via the `embedding_model` parameter (in the POST body for `/embeddings`, and a query \nparameter in `/uploadfile`). If no model is supplied, the `text-embedding-ada-002` is used by default. When performing\nembedding queries, embeddings from files that used the specified model will be considered in the query.\nFor example, if files A and B have embeddings generated with `OPENAI`, and files C and D have embeddings generated with\n`COHERE_MULTILINGUAL_V3`, then by default, queries will only consider files A and B. If `COHERE_MULTILINGUAL_V3` is\nspecified as the `embedding_model` in `/embeddings`, then only files C and D will be considered. Make sure that\nthe set of all files you want considered for a query have embeddings generated via the same model. For now, **do not**\nset `VERTEX_MULTIMODAL` as an `embedding_model`. This model is used automatically by Carbon when it detects an image file.","operationId":"create_upload_file_uploadfile_post","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"chunk_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Chunk size in tiktoken tokens to be used when processing file.","title":"Chunk Size"},"description":"Chunk size in tiktoken tokens to be used when processing file."},{"name":"chunk_overlap","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Chunk overlap in tiktoken tokens to be used when processing file.","title":"Chunk Overlap"},"description":"Chunk overlap in tiktoken tokens to be used when processing file."},{"name":"skip_embedding_generation","in":"query","required":false,"schema":{"type":"boolean","description":"Flag to control whether or not embeddings should be generated and stored\n when processing file.","default":false,"title":"Skip Embedding Generation"},"description":"Flag to control whether or not embeddings should be generated and stored\n when processing file."},{"name":"set_page_as_boundary","in":"query","required":false,"schema":{"type":"boolean","description":"Flag to control whether or not to set the a page's worth of content as the maximum\n amount of content that can appear in a chunk. Only valid for PDFs. See description route description for\n more information.","default":false,"title":"Set Page As Boundary"},"description":"Flag to control whether or not to set the a page's worth of content as the maximum\n amount of content that can appear in a chunk. Only valid for PDFs. See description route description for\n more information."},{"name":"embedding_model","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/TextEmbeddingGenerators"},{"$ref":"#/components/schemas/MultiModalEmbeddingGenerators"}],"description":"Embedding model that will be used to embed file chunks.","default":"OPENAI","title":"Embedding Model"},"description":"Embedding model that will be used to embed file chunks."},{"name":"use_ocr","in":"query","required":false,"schema":{"type":"boolean","description":"Whether or not to use OCR when processing files. Valid for PDFs, JPEGs, and PNGs. Useful for documents with\n tables, images, and/or scanned text.","default":false,"title":"Use Ocr"},"description":"Whether or not to use OCR when processing files. Valid for PDFs, JPEGs, and PNGs. Useful for documents with\n tables, images, and/or scanned text."},{"name":"generate_sparse_vectors","in":"query","required":false,"schema":{"type":"boolean","description":"Whether or not to generate sparse vectors for the file. This is *required* for the file to be a\n candidate for hybrid search.","default":false,"title":"Generate Sparse Vectors"},"description":"Whether or not to generate sparse vectors for the file. This is *required* for the file to be a\n candidate for hybrid search."},{"name":"prepend_filename_to_chunks","in":"query","required":false,"schema":{"type":"boolean","description":"Whether or not to prepend the file's name to chunks.","default":false,"title":"Prepend Filename To Chunks"},"description":"Whether or not to prepend the file's name to chunks."},{"name":"max_items_per_chunk","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only.","title":"Max Items Per Chunk"},"description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only."},{"name":"parse_pdf_tables_with_ocr","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to use rich table parsing when `use_ocr` is enabled.","default":false,"title":"Parse Pdf Tables With Ocr"},"description":"Whether to use rich table parsing when `use_ocr` is enabled."},{"name":"detect_audio_language","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to automatically detect the language of the uploaded audio file.","default":false,"title":"Detect Audio Language"},"description":"Whether to automatically detect the language of the uploaded audio file."},{"name":"transcription_service","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/TranscriptionService"},{"type":"null"}],"description":"The transcription service to use for audio files. If no service is specified, 'deepgram' will be used.","title":"Transcription Service"},"description":"The transcription service to use for audio files. If no service is specified, 'deepgram' will be used."},{"name":"include_speaker_labels","in":"query","required":false,"schema":{"type":"boolean","description":"Detect multiple speakers and label segments of speech by speaker for audio files.","default":false,"title":"Include Speaker Labels"},"description":"Detect multiple speakers and label segments of speech by speaker for audio files."},{"name":"media_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/FileContentTypes"},{"type":"null"}],"description":"The media type of the file. If not provided, it will be inferred from the file extension.","title":"Media Type"},"description":"The media type of the file. If not provided, it will be inferred from the file extension."},{"name":"split_rows","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to split tabular rows into chunks. Currently only valid for CSV, TSV, and XLSX files.","default":false,"title":"Split Rows"},"description":"Whether to split tabular rows into chunks. Currently only valid for CSV, TSV, and XLSX files."},{"name":"enable_cold_storage","in":"query","required":false,"schema":{"type":"boolean","description":"Enable cold storage for the file. If set to true, the file will be moved to cold storage after a certain period of inactivity. Default is false.","default":false,"title":"Enable Cold Storage"},"description":"Enable cold storage for the file. If set to true, the file will be moved to cold storage after a certain period of inactivity. Default is false."},{"name":"hot_storage_time_to_live","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Time in days after which the file will be moved to cold storage. Must be one of [1, 3, 7, 14, 30].","gte":1,"title":"Hot Storage Time To Live"},"description":"Time in days after which the file will be moved to cold storage. Must be one of [1, 3, 7, 14, 30]."},{"name":"generate_chunks_only","in":"query","required":false,"schema":{"type":"boolean","description":"If this flag is enabled, the file will be chunked and stored with Carbon,\n but no embeddings will be generated. This overrides the skip_embedding_generation flag.","default":false,"title":"Generate Chunks Only"},"description":"If this flag is enabled, the file will be chunked and stored with Carbon,\n but no embeddings will be generated. This overrides the skip_embedding_generation flag."},{"name":"store_file_only","in":"query","required":false,"schema":{"type":"boolean","description":"If this flag is enabled, the file will be stored with Carbon, but no processing will be done.","default":false,"title":"Store File Only"},"description":"If this flag is enabled, the file will be stored with Carbon, but no processing will be done."}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_upload_file_uploadfile_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/upload_file_from_url":{"post":{"tags":["Files"],"summary":"Create Upload File From Url","operationId":"create_upload_file_from_url_upload_file_from_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileFromUrlInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/upload_text":{"post":{"tags":["Files"],"summary":"Create Raw Text","description":"Carbon supports multiple models for use in generating embeddings for files. For images, we support Vertex AI's\nmultimodal model; for text, we support OpenAI's `text-embedding-ada-002` and Cohere's embed-multilingual-v3.0.\nThe model can be specified via the `embedding_model` parameter (in the POST body for `/embeddings`, and a query \nparameter in `/uploadfile`). If no model is supplied, the `text-embedding-ada-002` is used by default. When performing\nembedding queries, embeddings from files that used the specified model will be considered in the query.\nFor example, if files A and B have embeddings generated with `OPENAI`, and files C and D have embeddings generated with\n`COHERE_MULTILINGUAL_V3`, then by default, queries will only consider files A and B. If `COHERE_MULTILINGUAL_V3` is\nspecified as the `embedding_model` in `/embeddings`, then only files C and D will be considered. Make sure that\nthe set of all files you want considered for a query have embeddings generated via the same model. For now, **do not**\nset `VERTEX_MULTIMODAL` as an `embedding_model`. This model is used automatically by Carbon when it detects an image file.","operationId":"create_raw_text_upload_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawTextInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/delete_files_v2":{"post":{"tags":["Files"],"summary":"Delete Files V2 Endpoint","operationId":"delete_files_v2_endpoint_delete_files_v2_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteFilesV2QueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/user_files_v2":{"post":{"tags":["Files"],"summary":"User Files V2","description":"For pre-filtering documents, using `tags_v2` is preferred to using `tags` (which is now deprecated). If both `tags_v2`\nand `tags` are specified, `tags` is ignored. `tags_v2` enables\nbuilding complex filters through the use of \"AND\", \"OR\", and negation logic. Take the below input as an example:\n```json\n{\n \"OR\": [\n {\n \"key\": \"subject\",\n \"value\": \"holy-bible\",\n \"negate\": false\n },\n {\n \"key\": \"person-of-interest\",\n \"value\": \"jesus christ\",\n \"negate\": false\n },\n {\n \"key\": \"genre\",\n \"value\": \"religion\",\n \"negate\": true\n }\n {\n \"AND\": [\n {\n \"key\": \"subject\",\n \"value\": \"tao-te-ching\",\n \"negate\": false\n },\n {\n \"key\": \"author\",\n \"value\": \"lao-tzu\",\n \"negate\": false\n }\n ]\n }\n ]\n}\n```\nIn this case, files will be filtered such that:\n1. \"subject\" = \"holy-bible\" OR\n2. \"person-of-interest\" = \"jesus christ\" OR\n3. \"genre\" != \"religion\" OR\n4. \"subject\" = \"tao-te-ching\" AND \"author\" = \"lao-tzu\"\n\nNote that the top level of the query must be either an \"OR\" or \"AND\" array. Currently, nesting is limited to 3.\nFor tag blocks (those with \"key\", \"value\", and \"negate\" keys), the following typing rules apply:\n1. \"key\" isn't optional and must be a `string`\n2. \"value\" isn't optional and can be `any` or list[`any`]\n3. \"negate\" is optional and must be `true` or `false`. If present and `true`, then the filter block is negated in\nthe resulting query. It is `false` by default.","operationId":"user_files_v2_user_files_v2_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFilesV2"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/create_user_file_tags":{"post":{"tags":["Files"],"summary":"Create File Tags","description":"A tag is a key-value pair that can be added to a file. This pair can then be used\nfor searches (e.g. embedding searches) in order to narrow down the scope of the search.\nA file can have any number of tags. The following are reserved keys that cannot be used:\n- db_embedding_id\n- organization_id\n- user_id\n- organization_user_file_id\n\nCarbon currently supports two data types for tag values - `string` and `list<string>`.\nKeys can only be `string`. If values other than `string` and `list<string>` are used,\nthey're automatically converted to strings (e.g. 4 will become \"4\").","operationId":"create_file_tags_create_user_file_tags_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserFileTagCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/delete_user_file_tags":{"post":{"tags":["Files"],"summary":"Delete File Tags","operationId":"delete_file_tags_delete_user_file_tags_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserFileTagsRemove"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/resync_file":{"post":{"tags":["Files"],"summary":"Resync File","operationId":"resync_file_resync_file_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResyncFileQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/move_to_hot_storage":{"post":{"tags":["Files"],"summary":"Move To Hot Storage","operationId":"Files_moveToHotStorage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveToHotStorageQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Files Movetohotstorage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/modify_cold_storage_parameters":{"post":{"tags":["Files"],"summary":"Modify Cold Storage Parameters","operationId":"Files_modifyColdStorageParameters","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyColdStorageParametersQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Files Modifycoldstorageparameters"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/raw_file/{file_id}":{"get":{"tags":["Files"],"summary":"Raw File","description":"This route is deprecated. Use `/user_files_v2` instead.","operationId":"raw_file_raw_file__file_id__get","deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"integer","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedURLResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parsed_file/{file_id}":{"get":{"tags":["Files"],"summary":"Parsed File","description":"This route is deprecated. Use `/user_files_v2` instead.","operationId":"parsed_file_parsed_file__file_id__get","deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"integer","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedURLResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_files":{"post":{"tags":["Files"],"summary":"User Files","description":"This route is deprecated. Use `/user_files_v2` instead.","operationId":"user_files_user_files_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserFile"},"type":"array","title":"Response User Files User Files Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/deletefile/{file_id}":{"delete":{"tags":["Files"],"summary":"Delete File Endpoint","operationId":"delete_file_endpoint_deletefile__file_id__delete","deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"integer","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/delete_files":{"post":{"tags":["Files"],"summary":"Delete Files Endpoint","operationId":"delete_files_endpoint_delete_files_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteFilesQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/webhooks":{"post":{"tags":["Webhooks"],"summary":"Webhook Urls","operationId":"webhook_urls_webhooks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookQueryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/add_webhook":{"post":{"tags":["Webhooks"],"summary":"Add Webhook Url","operationId":"add_webhook_url_add_webhook_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddWebhookProps"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/delete_webhook/{webhook_id}":{"delete":{"tags":["Webhooks"],"summary":"Delete Webhook Url","operationId":"delete_webhook_url_delete_webhook__webhook_id__delete","security":[{"apiKey":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/data_sources":{"post":{"tags":["Data Sources"],"summary":"Data Sources","operationId":"data_sources_data_sources_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/user_data_sources":{"post":{"tags":["Data Sources"],"summary":"User Data Sources","operationId":"user_data_sources_user_data_sources_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceQueryInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/revoke_access_token":{"post":{"tags":["Data Sources"],"summary":"Revoke Access Token","operationId":"revoke_access_token_revoke_access_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeAccessTokenInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/data_sources/tags/add":{"post":{"tags":["Data Sources"],"summary":"Add Data Source Tags","operationId":"add_data_source_tags_data_sources_tags_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddDataSourceTagsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/data_sources/tags/remove":{"post":{"tags":["Data Sources"],"summary":"Remove Data Source Tags","operationId":"remove_data_source_tags_data_sources_tags_remove_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveDataSourceTagsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/web_scrape":{"post":{"tags":["Utilities"],"summary":"Web Scrape","description":"Conduct a web scrape on a given webpage URL. Our web scraper is fully compatible with JavaScript and supports recursion depth, enabling you to efficiently extract all content from the target website.\n\n<!--Args:\n scraping_requests (List[WebscrapeRequest]): A list of WebscrapeRequest objects.\n \nReturns:\n dict: A response object with the status of the scraping job message.-->","operationId":"web_scrape_web_scrape_post","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WebscrapeRequest"},"type":"array","title":"Scraping Requests"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/process_sitemap":{"get":{"tags":["Utilities"],"summary":"Sitemap","description":"Retrieves all URLs from a sitemap, which can subsequently be utilized with our `web_scrape` endpoint.\n\n<!--Args:\n url (str): URL of the sitemap\n\nReturns:\n dict: A dictionary with a list of URLs extracted from the sitemap.-->","operationId":"sitemap_process_sitemap_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scrape_sitemap":{"post":{"tags":["Utilities"],"summary":"Scrape Sitemap","description":"Extracts all URLs from a sitemap and performs a web scrape on each of them.\n\nArgs:\n sitemap_url (str): URL of the sitemap\n\nReturns:\n dict: A response object with the status of the scraping job message.-->","operationId":"scrape_sitemap_scrape_sitemap_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapScrapeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/fetch_urls":{"get":{"tags":["Utilities"],"summary":"Fetch Urls","description":"Extracts all URLs from a webpage. \n\nArgs:\n url (str): URL of the webpage\n\nReturns:\n FetchURLsResponse: A response object with a list of URLs extracted from the webpage and the webpage content.","operationId":"fetch_urls_fetch_urls_get","deprecated":true,"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchURLsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fetch_webpage":{"post":{"tags":["Utilities"],"summary":"Fetch Urls V2","operationId":"fetch_urls_v2_fetch_webpage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchURLsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/user_webpages":{"post":{"tags":["Utilities"],"summary":"User Web Pages","operationId":"user_web_pages_user_webpages_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserWebPagesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/search_urls":{"get":{"tags":["Utilities"],"summary":"Search Urls","description":"Perform a web search and obtain a list of relevant URLs.\n\nAs an illustration, when you perform a search for “content related to MRNA,” you will receive a list of links such as the following:\n\n - https://tomrenz.substack.com/p/mrna-and-why-it-matters\n\n - https://www.statnews.com/2020/11/10/the-story-of-mrna-how-a-once-dismissed-idea-became-a-leading-technology-in-the-covid-vaccine-race/\n\n - https://www.statnews.com/2022/11/16/covid-19-vaccines-were-a-success-but-mrna-still-has-a-delivery-problem/\n \n - https://joomi.substack.com/p/were-still-being-misled-about-how\n\nSubsequently, you can submit these links to the web_scrape endpoint in order to retrieve the content of the respective web pages.\n\nArgs:\n query (str): Query to search for\n\nReturns:\n FetchURLsResponse: A response object with a list of URLs for a given search query.","operationId":"search_urls_search_urls_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchURLsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fetch_youtube_transcript":{"get":{"tags":["Utilities"],"summary":"Fetch Youtube Transcripts","description":"Fetches english transcripts from YouTube videos.\n\nArgs:\n id (str): The ID of the YouTube video. \n raw (bool): Whether to return the raw transcript or not. Defaults to False.\n\nReturns:\n dict: A dictionary with the transcript of the YouTube video.","operationId":"fetch_youtube_transcripts_fetch_youtube_transcript_get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","title":"Id"}},{"name":"raw","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Raw"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/YoutubeTranscriptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/data/crm/accounts":{"post":{"tags":["CRM"],"summary":"Get Accounts","operationId":"get_accounts_integrations_data_crm_accounts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/crm/accounts/{id}":{"get":{"tags":["CRM"],"summary":"Get Account","operationId":"get_account_integrations_data_crm_accounts__id__get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}},{"name":"data_source_id","in":"query","required":true,"schema":{"type":"integer","title":"Data Source Id"}},{"name":"include_remote_data","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Remote Data"}},{"name":"includes","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/BaseIncludes"},"title":"Includes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/data/crm/leads":{"post":{"tags":["CRM"],"summary":"Get Leads","operationId":"get_leads_integrations_data_crm_leads_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/crm/leads/{id}":{"get":{"tags":["CRM"],"summary":"Get Lead","operationId":"get_lead_integrations_data_crm_leads__id__get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}},{"name":"data_source_id","in":"query","required":true,"schema":{"type":"integer","title":"Data Source Id"}},{"name":"include_remote_data","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Remote Data"}},{"name":"includes","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/BaseIncludes"},"title":"Includes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Lead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/data/crm/contacts":{"post":{"tags":["CRM"],"summary":"Get Contacts","operationId":"get_contacts_integrations_data_crm_contacts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/crm/contacts/{id}":{"get":{"tags":["CRM"],"summary":"Get Contact","operationId":"get_contact_integrations_data_crm_contacts__id__get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}},{"name":"data_source_id","in":"query","required":true,"schema":{"type":"integer","title":"Data Source Id"}},{"name":"include_remote_data","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Remote Data"}},{"name":"includes","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/BaseIncludes"},"title":"Includes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contact"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/data/crm/opportunities":{"post":{"tags":["CRM"],"summary":"Get Opportunities","operationId":"get_opportunities_integrations_data_crm_opportunities_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunitiesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunitiesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/crm/opportunities/{id}":{"get":{"tags":["CRM"],"summary":"Get Opportunity","operationId":"get_opportunity_integrations_data_crm_opportunities__id__get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}},{"name":"data_source_id","in":"query","required":true,"schema":{"type":"integer","title":"Data Source Id"}},{"name":"include_remote_data","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Remote Data"}},{"name":"includes","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/BaseIncludes"},"title":"Includes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Opportunity"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/data/github/pull_requests":{"post":{"tags":["Github"],"summary":"Get Prs","operationId":"get_prs_integrations_data_github_pull_requests_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PullRequestsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PullRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/github/pull_requests/{pull_number}":{"get":{"tags":["Github"],"summary":"Get Pr","operationId":"get_pr_integrations_data_github_pull_requests__pull_number__get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"pull_number","in":"path","required":true,"schema":{"type":"integer","title":"Pull Number"}},{"name":"include_remote_data","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Remote Data"}},{"name":"data_source_id","in":"query","required":false,"schema":{"type":"integer","title":"Data Source Id"}},{"name":"repository","in":"query","required":false,"schema":{"type":"string","title":"Repository"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PullRequestExtended"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/data/github/pull_requests/comments":{"post":{"tags":["Github"],"summary":"Pr Comments","operationId":"pr_comments_integrations_data_github_pull_requests_comments_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/github/pull_requests/files":{"post":{"tags":["Github"],"summary":"Pr Files","operationId":"pr_files_integrations_data_github_pull_requests_files_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilesInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/github/pull_requests/commits":{"post":{"tags":["Github"],"summary":"Pr Commits","operationId":"pr_commits_integrations_data_github_pull_requests_commits_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/github/issues":{"post":{"tags":["Github"],"summary":"Issues","operationId":"issues_integrations_data_github_issues_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}]}},"/integrations/data/github/issues/{issue_number}":{"get":{"tags":["Github"],"summary":"Issue","operationId":"issue_integrations_data_github_issues__issue_number__get","security":[{"accessToken":[]},{"apiKey":[],"customerId":[]}],"parameters":[{"name":"issue_number","in":"path","required":true,"schema":{"type":"integer","title":"Issue Number"}},{"name":"include_remote_data","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Remote Data"}},{"name":"data_source_id","in":"query","required":false,"schema":{"type":"integer","title":"Data Source Id"}},{"name":"repository","in":"query","required":false,"schema":{"type":"string","title":"Repository"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Issue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/white_label/create":{"post":{"tags":["White Label"],"summary":"Create White Labels","operationId":"create_white_labels_white_label_create_post","requestBody":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/GoogleDriveWhiteLabelInput"},{"$ref":"#/components/schemas/OneDriveSharepointWhiteLabelInput"},{"$ref":"#/components/schemas/WhiteLabelInput"}]},"type":"array","title":"White Label Inputs"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/white_label/list":{"post":{"tags":["White Label"],"summary":"List White Labels","operationId":"list_white_labels_white_label_list_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWhiteLabelRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/white_label/delete":{"post":{"tags":["White Label"],"summary":"Delete White Labels","operationId":"delete_white_labels_white_label_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteWhiteLabelRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}},"/white_label/update":{"post":{"tags":["White Label"],"summary":"Update White Label","operationId":"update_white_label_white_label_update_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GoogleDriveWhiteLabelInput"},{"$ref":"#/components/schemas/OneDriveSharepointWhiteLabelInput"},{"$ref":"#/components/schemas/WhiteLabelInput"}],"title":"Request"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"apiKey":[]}]}}},"components":{"schemas":{"Account":{"properties":{"id":{"type":"string","title":"Id"},"owner":{"anyOf":[{"$ref":"#/components/schemas/PartialOwner"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"number_of_employees":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Employees"},"addresses":{"items":{"$ref":"#/components/schemas/Address"},"type":"array","title":"Addresses"},"phone_numbers":{"items":{"$ref":"#/components/schemas/PhoneNumber"},"type":"array","title":"Phone Numbers"},"last_activity_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Activity At"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"tasks":{"anyOf":[{"items":{"$ref":"#/components/schemas/Task"},"type":"array"},{"type":"null"}],"title":"Tasks"},"events":{"anyOf":[{"items":{"$ref":"#/components/schemas/Event"},"type":"array"},{"type":"null"}],"title":"Events"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","owner","name","description","industry","website","number_of_employees","addresses","phone_numbers","last_activity_at","created_at","updated_at","is_deleted","remote_data"],"title":"Account"},"AccountFilters":{"properties":{"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","title":"AccountFilters"},"AccountResponse":{"properties":{"count":{"type":"integer","title":"Count"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"data":{"items":{"$ref":"#/components/schemas/Account"},"type":"array","title":"Data"}},"type":"object","required":["count","next_cursor","data"],"title":"AccountResponse"},"AccountsOrderBy":{"type":"string","enum":["created_at","updated_at","number_of_employees","name","last_activity_at"],"title":"AccountsOrderBy"},"AccountsRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"page_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Size"},"order_dir":{"anyOf":[{"$ref":"#/components/schemas/OrderDirV2"},{"type":"null"}],"default":"asc"},"includes":{"items":{"$ref":"#/components/schemas/BaseIncludes"},"type":"array","title":"Includes","default":[]},"filters":{"$ref":"#/components/schemas/AccountFilters","default":{}},"order_by":{"anyOf":[{"$ref":"#/components/schemas/AccountsOrderBy"},{"type":"null"}]}},"type":"object","required":["data_source_id"],"title":"AccountsRequest"},"AddDataSourceTagsInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"tags":{"type":"object","title":"Tags"}},"type":"object","required":["data_source_id","tags"],"title":"AddDataSourceTagsInput"},"AddWebhookProps":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"AddWebhookProps"},"Address":{"properties":{"street_1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street 1"},"street_2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street 2"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"address_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Type"}},"type":"object","required":["street_1","street_2","city","state","postal_code","country","address_type"],"title":"Address"},"AzureBlobAuthRequest":{"properties":{"account_name":{"type":"string","title":"Account Name"},"account_key":{"type":"string","title":"Account Key"},"sync_source_items":{"type":"boolean","title":"Sync Source Items","default":true},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["account_name","account_key"],"title":"AzureBlobAuthRequest"},"AzureBlobFileSyncInput":{"properties":{"ids":{"items":{"$ref":"#/components/schemas/AzureBlobGetFileInput"},"type":"array","title":"Ids"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"max_items_per_chunk":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Max Items Per Chunk","description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only."},"set_page_as_boundary":{"type":"boolean","title":"Set Page As Boundary","default":false},"data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"use_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Ocr","default":false},"parse_pdf_tables_with_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parse Pdf Tables With Ocr","default":false},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}]}},"type":"object","required":["ids"],"title":"AzureBlobFileSyncInput"},"AzureBlobGetFileInput":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"container":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Container"}},"type":"object","title":"AzureBlobGetFileInput"},"AzureBlobStorageAuthentication":{"properties":{"source":{"type":"string","enum":["AZURE_BLOB_STORAGE"],"const":"AZURE_BLOB_STORAGE","title":"Source"},"account_name":{"type":"string","title":"Account Name"},"account_key":{"type":"string","title":"Account Key"}},"type":"object","required":["source","account_name","account_key"],"title":"AzureBlobStorageAuthentication"},"AzureBlobStorageTypes":{"type":"string","enum":["Container"],"const":"Container","title":"AzureBlobStorageTypes"},"BaseIncludes":{"type":"string","enum":["Tasks","Events"],"title":"BaseIncludes","description":"These can be included as children when requesting parent entities "},"Body_create_upload_file_uploadfile_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_create_upload_file_uploadfile_post"},"ChunkProperties":{"properties":{"set_page_as_boundary":{"type":"boolean","title":"Set Page As Boundary","default":false},"prepend_filename_to_chunks":{"type":"boolean","title":"Prepend Filename To Chunks","default":false},"max_items_per_chunk":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Items Per Chunk"}},"type":"object","title":"ChunkProperties"},"ChunksAndEmbeddings":{"properties":{"chunk_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Number"},"chunk":{"type":"string","title":"Chunk"},"embedding":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Embedding"}},"type":"object","required":["chunk_number","chunk"],"title":"ChunksAndEmbeddings"},"ChunksAndEmbeddingsUploadInput":{"properties":{"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators"},"chunks_and_embeddings":{"items":{"$ref":"#/components/schemas/SingleChunksAndEmbeddingsUploadInput"},"type":"array","title":"Chunks And Embeddings"},"overwrite_existing":{"type":"boolean","title":"Overwrite Existing","default":false},"chunks_only":{"type":"boolean","title":"Chunks Only","default":false},"custom_credentials":{"additionalProperties":{"type":"object"},"type":"object","title":"Custom Credentials","default":{}}},"type":"object","required":["embedding_model","chunks_and_embeddings"],"title":"ChunksAndEmbeddingsUploadInput"},"ColdStorageProps":{"properties":{"enable_cold_storage":{"type":"boolean","title":"Enable Cold Storage","description":"Enable cold storage for the file. If set to true, the file will be moved to cold storage after a certain period of inactivity. Default is false.","default":false},"hot_storage_time_to_live":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hot Storage Time To Live","description":"Time in days after which the file will be moved to cold storage. Valid values are [1, 3, 7, 14, 30]","gte":1}},"type":"object","title":"ColdStorageProps"},"CommentsInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"repository":{"type":"string","title":"Repository","description":"Full name of the repository, denoted as {owner}/{repo}"},"page":{"type":"integer","title":"Page","default":1},"page_size":{"type":"integer","maximum":100.0,"title":"Page Size","default":30},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"pull_number":{"type":"integer","title":"Pull Number"},"order_by":{"$ref":"#/components/schemas/CommentsOrderBy","default":"created"},"order_dir":{"anyOf":[{"$ref":"#/components/schemas/OrderDirV2"},{"type":"null"}],"default":"asc"}},"type":"object","required":["data_source_id","repository","pull_number"],"title":"CommentsInput"},"CommentsOrderBy":{"type":"string","enum":["created","updated"],"title":"CommentsOrderBy"},"CommentsResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PRComment"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data","next_cursor"],"title":"CommentsResponse"},"Commit":{"properties":{"author":{"anyOf":[{"$ref":"#/components/schemas/CommitUser"},{"type":"null"}]},"committer":{"anyOf":[{"$ref":"#/components/schemas/CommitUser"},{"type":"null"}]},"message":{"type":"string","title":"Message"},"tree":{"$ref":"#/components/schemas/Tree"},"url":{"type":"string","title":"Url"},"comment_count":{"type":"integer","title":"Comment Count"}},"type":"object","required":["author","committer","message","tree","url","comment_count"],"title":"Commit"},"CommitUser":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"}},"type":"object","required":["name","email"],"title":"CommitUser"},"CommitsInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"repository":{"type":"string","title":"Repository","description":"Full name of the repository, denoted as {owner}/{repo}"},"page":{"type":"integer","title":"Page","default":1},"page_size":{"type":"integer","maximum":100.0,"title":"Page Size","default":30},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"pull_number":{"type":"integer","title":"Pull Number"}},"type":"object","required":["data_source_id","repository","pull_number"],"title":"CommitsInput"},"CommitsResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PRCommit"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data","next_cursor"],"title":"CommitsResponse"},"ConfigurationKeys":{"type":"string","enum":["sparse_vectors"],"const":"sparse_vectors","title":"ConfigurationKeys"},"ConfluenceAuthentication":{"properties":{"source":{"type":"string","enum":["CONFLUENCE"],"const":"CONFLUENCE","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"subdomain":{"type":"string","title":"Subdomain"}},"type":"object","required":["source","access_token","subdomain"],"title":"ConfluenceAuthentication"},"ConfluenceFileTypes":{"type":"string","enum":["SPACE","PAGE"],"title":"ConfluenceFileTypes"},"ConnectDataSourceInput":{"properties":{"authentication":{"anyOf":[{"$ref":"#/components/schemas/OAuthAuthentication"},{"$ref":"#/components/schemas/NotionAuthentication"},{"$ref":"#/components/schemas/OneDriveAuthentication"},{"$ref":"#/components/schemas/SharepointAuthentication"},{"$ref":"#/components/schemas/ConfluenceAuthentication"},{"$ref":"#/components/schemas/ZendeskAuthentication"},{"$ref":"#/components/schemas/ZoteroAuthentication"},{"$ref":"#/components/schemas/GitbookAuthetication"},{"$ref":"#/components/schemas/SalesforceAuthentication"},{"$ref":"#/components/schemas/FreskdeskAuthentication"},{"$ref":"#/components/schemas/S3Authentication"},{"$ref":"#/components/schemas/AzureBlobStorageAuthentication"},{"$ref":"#/components/schemas/GithubAuthentication"},{"$ref":"#/components/schemas/ServiceNowAuthentication"},{"$ref":"#/components/schemas/GuruAuthentication"},{"$ref":"#/components/schemas/GongAuthentication"}],"title":"Authentication"},"sync_options":{"$ref":"#/components/schemas/SyncOptions","default":{"chunk_size":1500,"chunk_overlap":20,"skip_embedding_generation":false,"embedding_model":"OPENAI","generate_sparse_vectors":false,"prepend_filename_to_chunks":false,"sync_files_on_connection":true,"set_page_as_boundary":false,"enable_file_picker":true,"sync_source_items":true,"incremental_sync":false,"data_source_tags":{}}}},"type":"object","required":["authentication"],"title":"ConnectDataSourceInput"},"ConnectDataSourceResponse":{"properties":{"data_source":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"},"sync_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sync Url"}},"type":"object","required":["data_source"],"title":"ConnectDataSourceResponse"},"Contact":{"properties":{"id":{"type":"string","title":"Id"},"owner":{"anyOf":[{"$ref":"#/components/schemas/PartialOwner"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"addresses":{"items":{"$ref":"#/components/schemas/Address"},"type":"array","title":"Addresses"},"phone_numbers":{"items":{"$ref":"#/components/schemas/PhoneNumber"},"type":"array","title":"Phone Numbers"},"emails":{"items":{"$ref":"#/components/schemas/Email"},"type":"array","title":"Emails"},"account":{"anyOf":[{"$ref":"#/components/schemas/PartialAccount"},{"type":"null"}]},"last_activity_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Activity At"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"tasks":{"anyOf":[{"items":{"$ref":"#/components/schemas/Task"},"type":"array"},{"type":"null"}],"title":"Tasks"},"events":{"anyOf":[{"items":{"$ref":"#/components/schemas/Event"},"type":"array"},{"type":"null"}],"title":"Events"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","owner","first_name","last_name","name","description","title","department","addresses","phone_numbers","emails","account","last_activity_at","created_at","updated_at","is_deleted","remote_data"],"title":"Contact"},"ContactFilters":{"properties":{"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},"type":"object","title":"ContactFilters"},"ContactsOrderBy":{"type":"string","enum":["created_at","updated_at","title","name","last_activity_at"],"title":"ContactsOrderBy"},"ContactsRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"page_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Size"},"order_dir":{"anyOf":[{"$ref":"#/components/schemas/OrderDirV2"},{"type":"null"}],"default":"asc"},"includes":{"items":{"$ref":"#/components/schemas/BaseIncludes"},"type":"array","title":"Includes","default":[]},"filters":{"$ref":"#/components/schemas/ContactFilters","default":{}},"order_by":{"anyOf":[{"$ref":"#/components/schemas/ContactsOrderBy"},{"type":"null"}]}},"type":"object","required":["data_source_id"],"title":"ContactsRequest"},"ContactsResponse":{"properties":{"count":{"type":"integer","title":"Count"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"data":{"items":{"$ref":"#/components/schemas/Contact"},"type":"array","title":"Data"}},"type":"object","required":["count","next_cursor","data"],"title":"ContactsResponse"},"Credentials":{"properties":{"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["client_id","redirect_uri"],"title":"Credentials"},"CustomCredentialsType":{"type":"string","enum":["OPENAI","COHERE","AZURE_OPENAI","AZURE_OPENAI_V3","UPSTAGE"],"title":"CustomCredentialsType"},"DataSourceConfiguration":{"properties":{"allowed_file_formats":{"items":{"type":"string"},"type":"array","title":"Allowed File Formats","description":"List of allowed file formats for the organization. An empty list means all file formats are allowed.","default":[]},"google_workspace_docs_save_as":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Google Workspace Docs Save As","description":"Used to set the format Google Workspace documents (Docs, Sheets, Slides) are stored as for raw files uploads in S3. The default format is TXT"}},"type":"object","title":"DataSourceConfiguration"},"DataSourceExtendedInput":{"type":"string","enum":["ALL"],"const":"ALL","title":"DataSourceExtendedInput"},"DataSourceLastSyncActions":{"type":"string","enum":["ADD","UPDATE","CANCEL","REVOKE"],"title":"DataSourceLastSyncActions"},"DataSourceSyncStatuses":{"type":"string","enum":["QUEUED_FOR_SYNCING","SYNCING","READY","SYNC_ERROR"],"title":"DataSourceSyncStatuses"},"DataSourceType":{"type":"string","enum":["GOOGLE_CLOUD_STORAGE","GOOGLE_DRIVE","NOTION","NOTION_DATABASE","INTERCOM","DROPBOX","ONEDRIVE","SHAREPOINT","CONFLUENCE","BOX","ZENDESK","ZOTERO","S3","AZURE_BLOB_STORAGE","GMAIL","OUTLOOK","SERVICENOW","TEXT","CSV","TSV","PDF","DOCX","PPTX","XLSX","XLSM","MD","RTF","JSON","HTML","RAW_TEXT","WEB_SCRAPE","RSS_FEED","FRESHDESK","GITBOOK","SALESFORCE","GITHUB","SLACK","GURU","GONG","DOCUMENT360","JPG","PNG","JPEG","MP3","MP2","AAC","WAV","FLAC","PCM","M4A","OGG","OPUS","MPEG","MPG","MP4","WMV","AVI","MOV","MKV","FLV","WEBM","EML","MSG"],"title":"DataSourceType"},"DeleteFilesQueryInput":{"properties":{"file_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"File Ids"},"sync_statuses":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExternalFileSyncStatuses"},"type":"array"},{"type":"null"}],"title":"Sync Statuses"},"delete_non_synced_only":{"type":"boolean","title":"Delete Non Synced Only","default":false},"send_webhook":{"type":"boolean","title":"Send Webhook","default":false},"delete_child_files":{"type":"boolean","title":"Delete Child Files","default":false}},"type":"object","title":"DeleteFilesQueryInput"},"DeleteFilesV2QueryInput":{"properties":{"filters":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncFilters","default":{"include_all_children":false,"non_synced_only":false}},"send_webhook":{"type":"boolean","title":"Send Webhook","default":false},"preserve_file_record":{"type":"boolean","title":"Preserve File Record","description":"Whether or not to delete all data related to the file from the database, BUT to preserve the file metadata, allowing for\n resyncs. By default `preserve_file_record` is false, which means that all data related to the file *as well as* its metadata will be deleted. Note that\n even if `preserve_file_record` is true, raw files uploaded via the `uploadfile` endpoint still cannot be resynced.","default":false}},"type":"object","title":"DeleteFilesV2QueryInput"},"DeleteUsersInput":{"properties":{"customer_ids":{"items":{"type":"string"},"type":"array","title":"Customer Ids"}},"type":"object","required":["customer_ids"],"title":"DeleteUsersInput"},"DeleteWhiteLabelRequest":{"properties":{"ids":{"items":{"type":"integer"},"type":"array","title":"Ids"}},"type":"object","required":["ids"],"title":"DeleteWhiteLabelRequest"},"DirectoryItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"is_synced":{"type":"boolean","title":"Is Synced","default":false},"has_children":{"type":"boolean","title":"Has Children","default":false}},"type":"object","required":["id","name"],"title":"DirectoryItem"},"Document360ConnectRequest":{"properties":{"account_email":{"type":"string","title":"Account Email","description":"This email will be used to identify your carbon data source. It should have access to the \n Document360 account you wish to connect."},"access_token":{"type":"string","title":"Access Token"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"sync_files_on_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Files On Connection","default":true},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":true},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}],"description":"Used to configure file syncing when sync_files_on_connection is set to true"},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["account_email","access_token"],"title":"Document360ConnectRequest"},"DocumentResponse":{"properties":{"content":{"type":"string","title":"Content"},"file_id":{"type":"integer","title":"File Id"},"parent_file_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent File Id"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_type":{"anyOf":[{"$ref":"#/components/schemas/DataSourceType"},{"type":"null"}]},"presigned_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presigned Url"},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"integer"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"items":{"type":"number"},"type":"array"},{"items":{"type":"integer"},"type":"array"},{"items":{"type":"boolean"},"type":"array"}]},"type":"object"},{"type":"null"}],"title":"Tags"},"vector":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Vector"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"rank":{"anyOf":[{"type":"number"},{"type":"integer"},{"type":"null"}],"title":"Rank"},"content_metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Content Metadata"},"chunk_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Index"}},"type":"object","required":["content","file_id","vector"],"title":"DocumentResponse"},"DocumentResponseList":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/DocumentResponse"},"type":"array","title":"Documents"}},"type":"object","required":["documents"],"title":"DocumentResponseList"},"Email":{"properties":{"email":{"type":"string","title":"Email"},"email_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Type"}},"type":"object","required":["email","email_type"],"title":"Email"},"EmbeddingAndChunk":{"properties":{"user_file_id":{"type":"integer","title":"User File Id"},"chunk_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Index"},"source_content":{"type":"string","title":"Source Content"},"embedding":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Embedding"},"content_metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Content Metadata"}},"type":"object","required":["user_file_id","source_content"],"title":"EmbeddingAndChunk"},"EmbeddingGenerators":{"type":"string","enum":["OPENAI","AZURE_OPENAI","AZURE_ADA_LARGE_256","AZURE_ADA_LARGE_1024","AZURE_ADA_LARGE_3072","AZURE_ADA_SMALL_512","AZURE_ADA_SMALL_1536","COHERE_MULTILINGUAL_V3","VERTEX_MULTIMODAL","OPENAI_ADA_LARGE_256","OPENAI_ADA_LARGE_1024","OPENAI_ADA_LARGE_3072","OPENAI_ADA_SMALL_512","OPENAI_ADA_SMALL_1536","SOLAR_1_MINI"],"title":"EmbeddingGenerators"},"EmbeddingProperties":{"properties":{"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size"},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap"}},"type":"object","required":["chunk_size","chunk_overlap"],"title":"EmbeddingProperties"},"EmbeddingStorageStatus":{"type":"string","enum":["HOT_STORAGE","HOT_TO_COLD","COLD_STORAGE","COLD_TO_HOT"],"title":"EmbeddingStorageStatus"},"EmbeddingsAndChunksFilters":{"properties":{"user_file_id":{"type":"integer","title":"User File Id"},"embedding_model":{"anyOf":[{"$ref":"#/components/schemas/EmbeddingGenerators"},{"type":"null"}]}},"type":"object","required":["user_file_id"],"title":"EmbeddingsAndChunksFilters"},"EmbeddingsAndChunksOrderByColumns":{"type":"string","enum":["created_at","updated_at","chunk_index"],"title":"EmbeddingsAndChunksOrderByColumns"},"EmbeddingsAndChunksQueryInput":{"properties":{"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/EmbeddingsAndChunksOrderByColumns","default":"updated_at"},"order_dir":{"$ref":"#/components/schemas/OrderDir","default":"asc"},"filters":{"$ref":"#/components/schemas/EmbeddingsAndChunksFilters"},"include_vectors":{"type":"boolean","title":"Include Vectors","default":false}},"type":"object","required":["filters"],"title":"EmbeddingsAndChunksQueryInput"},"EmbeddingsAndChunksQueryInputV2":{"properties":{"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncOrderByTypes","default":"updated_at"},"order_dir":{"$ref":"#/components/schemas/OrderDir","default":"asc"},"filters":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncFilters"},"include_vectors":{"type":"boolean","title":"Include Vectors","default":false}},"type":"object","required":["filters"],"title":"EmbeddingsAndChunksQueryInputV2"},"EmbeddingsAndChunksResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/EmbeddingAndChunk"},"type":"array","title":"Results"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["results","count"],"title":"EmbeddingsAndChunksResponse"},"Event":{"properties":{"id":{"type":"string","title":"Id"},"owner":{"$ref":"#/components/schemas/PartialOwner"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"is_all_day":{"type":"boolean","title":"Is All Day"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"account":{"anyOf":[{"$ref":"#/components/schemas/PartialAccount"},{"type":"null"}]},"contact":{"anyOf":[{"$ref":"#/components/schemas/PartialContact"},{"type":"null"}]},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","owner","subject","location","is_all_day","start_date","end_date","description","account","contact","created_at","updated_at","is_deleted","remote_data"],"title":"Event"},"ExternalFileSyncStatuses":{"type":"string","enum":["DELAYED","QUEUED_FOR_SYNC","SYNCING","READY","SYNC_ERROR","EVALUATING_RESYNC","RATE_LIMITED","SYNC_ABORTED","QUEUED_FOR_OCR","READY_TO_SYNC"],"title":"ExternalFileSyncStatuses"},"ExternalSourceItem":{"properties":{"id":{"type":"integer","title":"Id"},"external_id":{"type":"string","title":"External Id"},"source":{"$ref":"#/components/schemas/DataSourceType"},"name":{"type":"string","title":"Name"},"synced_at":{"type":"string","format":"date-time","title":"Synced At"},"is_selectable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Selectable"},"is_expandable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Expandable"},"organization_id":{"type":"integer","title":"Organization Id"},"organization_supplied_user_id":{"type":"string","title":"Organization Supplied User Id"},"organization_user_id":{"type":"integer","title":"Organization User Id"},"organization_user_data_source_id":{"type":"integer","title":"Organization User Data Source Id"},"organization_user_file_to_sync_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Organization User File To Sync Id"},"parent_external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent External Id"},"item_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Type"},"root_external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Root External Id"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"file_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Format"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","external_id","source","name","synced_at","is_selectable","is_expandable","organization_id","organization_supplied_user_id","organization_user_id","organization_user_data_source_id","organization_user_file_to_sync_id","parent_external_id","item_type","root_external_id","external_url","file_format","created_at","updated_at"],"title":"ExternalSourceItem"},"ExternalSourceItemsOrderBy":{"type":"string","enum":["name","id","directories_first"],"title":"ExternalSourceItemsOrderBy"},"FetchURLsRequest":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"FetchURLsRequest"},"FetchURLsResponse":{"properties":{"urls":{"items":{"type":"string"},"type":"array","title":"Urls"},"html_content":{"type":"string","title":"Html Content"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"}},"type":"object","required":["urls","html_content"],"title":"FetchURLsResponse"},"FileContentTypes":{"type":"string","enum":["TEXT","IMAGE","AUDIO","VIDEO"],"title":"FileContentTypes"},"FileFormats":{"type":"string","enum":["TXT","CSV","TSV","PDF","DOCX","PPTX","XLSX","XLSM","MD","RTF","JSON","HTML","HTML","NOTION","GOOGLE_DOCS","GOOGLE_SHEETS","GOOGLE_SLIDES","INTERCOM","CONFLUENCE","RSS_FEED","GMAIL","OUTLOOK","ZENDESK","FRESHDESK","WEB_SCRAPE","GITBOOK","SALESFORCE","GITHUB","SLACK","GURU","SERVICENOW","GONG","DOCUMENT360","JPG","JPG","PNG","MP3","MP2","AAC","WAV","FLAC","PCM","M4A","OGG","OPUS","MPEG","MPG","MP4","WMV","AVI","MOV","MKV","FLV","WEBM","EML","MSG"],"title":"FileFormats"},"FileStatistics":{"properties":{"file_format":{"anyOf":[{"$ref":"#/components/schemas/FileFormats"},{"type":"null"}]},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"num_characters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Characters"},"num_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Tokens"},"num_embeddings":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Embeddings"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"}},"type":"object","title":"FileStatistics"},"FileStatus":{"type":"string","enum":["added","removed","modified","renamed","copied","changed","unchanged"],"title":"FileStatus"},"FileSyncConfig":{"properties":{"auto_synced_source_types":{"items":{"anyOf":[{"$ref":"#/components/schemas/HelpdeskFileTypes"},{"$ref":"#/components/schemas/ServiceNowFileTypes"}]},"type":"array","title":"Auto Synced Source Types","description":"File types to automatically sync when the data source connects. Only a subset of file types can be \n controlled. If not supported, then they will always be synced","default":["ARTICLE"]},"sync_attachments":{"type":"boolean","title":"Sync Attachments","description":"Automatically sync attachments from files where supported. Currently applies to Helpdesk Tickets","default":false},"detect_audio_language":{"type":"boolean","title":"Detect Audio Language","description":"Detect audio language before transcription for audio files","default":false},"transcription_service":{"anyOf":[{"$ref":"#/components/schemas/TranscriptionService"},{"type":"null"}],"description":"The transcription service to use for audio files. If no service is specified, 'deepgram' will be used."},"include_speaker_labels":{"type":"boolean","title":"Include Speaker Labels","description":"Detect multiple speakers and label segments of speech by speaker for audio files.","default":false},"split_rows":{"type":"boolean","title":"Split Rows","description":"Whether to split tabular rows into chunks. Currently only valid for CSV, TSV, and XLSX files.","default":false},"generate_chunks_only":{"type":"boolean","title":"Generate Chunks Only","description":"If this flag is enabled, the file will be chunked and stored with Carbon,\n but no embeddings will be generated. This overrides the skip_embedding_generation flag.","default":false},"store_file_only":{"type":"boolean","title":"Store File Only","description":"If this flag is enabled, the file will be stored with Carbon, but no chunks or embeddings will be generated. \n This overrides the skip_embedding_generation and generate_chunks_only flags.","default":false},"skip_file_processing":{"type":"boolean","title":"Skip File Processing","description":"Setting this flag will create a new file record with Carbon but skip any and all processing. \n This means that we do not download the remote file content or generate any chunks or embeddings. We will store\n some metadata like name, external id, and external URL depending on the source you are syncing from. Note that this \n flag overrides both skip_embedding_generation and generate_chunks_only flags. The file will be moved to \n READY_TO_SYNC status.","default":false}},"type":"object","title":"FileSyncConfig"},"FilesInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"repository":{"type":"string","title":"Repository","description":"Full name of the repository, denoted as {owner}/{repo}"},"page":{"type":"integer","title":"Page","default":1},"page_size":{"type":"integer","maximum":100.0,"title":"Page Size","default":30},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"pull_number":{"type":"integer","title":"Pull Number"}},"type":"object","required":["data_source_id","repository","pull_number"],"title":"FilesInput"},"FilesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PRFile"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data","next_cursor"],"title":"FilesResponse"},"FreshDeskConnectRequest":{"properties":{"domain":{"type":"string","title":"Domain"},"api_key":{"type":"string","title":"Api Key"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"anyOf":[{"$ref":"#/components/schemas/EmbeddingGenerators"},{"type":"null"}],"default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"sync_files_on_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Files On Connection","default":true},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":true},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}],"description":"Used to configure file syncing when sync_files_on_connection is set to true"},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["domain","api_key"],"title":"FreshDeskConnectRequest"},"FreskdeskAuthentication":{"properties":{"source":{"type":"string","enum":["FRESHDESK"],"const":"FRESHDESK","title":"Source"},"domain":{"type":"string","title":"Domain"},"api_key":{"type":"string","title":"Api Key"}},"type":"object","required":["source","domain","api_key"],"title":"FreskdeskAuthentication"},"GenericSuccessResponse":{"properties":{"success":{"type":"boolean","title":"Success"}},"type":"object","required":["success"],"title":"GenericSuccessResponse"},"GetEmbeddingDocumentsBody":{"properties":{"query":{"type":"string","minLength":1,"title":"Query","description":"Query for which to get related chunks and embeddings."},"query_vector":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Query Vector","description":"Optional query vector for which to get related chunks and embeddings. It must have been\n generated by the same model used to generate the embeddings across which the search is being conducted. Cannot\n provide both `query` and `query_vector`."},"k":{"type":"integer","minimum":1.0,"title":"K","description":"Number of related chunks to return."},"file_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"File Ids","description":"Optional list of file IDs to limit the search to"},"parent_file_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Parent File Ids","description":"Optional list of parent file IDs to limit the search to. A parent file describes a file to which\n another file belongs (e.g. a folder)","deprecated":true},"include_all_children":{"type":"boolean","title":"Include All Children","description":"Flag to control whether or not to include all children of filtered files in the embedding search.","default":false},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"items":{"type":"integer"},"type":"array"},{"items":{"type":"boolean"},"type":"array"}]},"type":"object"},{"type":"null"}],"title":"Tags","description":"A set of tags to limit the search to. Deprecated and may be removed in the future."},"tags_v2":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags V2","description":"A set of tags to limit the search to. Use this instead of `tags`, which is deprecated.","examples":[{"OR":[{"key":"subject","negate":false,"value":"holy-bible"},{"key":"person-of-interest","negate":false,"value":"jesus christ"},{"key":"genre","negate":true,"value":"fiction"},{"AND":[{"key":"subject","negate":true,"value":"tao-te-ching"},{"key":"author","negate":false,"value":"lao-tzu"}]}]}]},"include_tags":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Tags","description":"Flag to control whether or not to include tags for each chunk in the response."},"include_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Vectors","description":"Flag to control whether or not to include embedding vectors in the response."},"include_raw_file":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Raw File","description":"Flag to control whether or not to include a signed URL to the raw file containing each chunk\n in the response."},"hybrid_search":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Hybrid Search","description":"Flag to control whether or not to perform hybrid search."},"hybrid_search_tuning_parameters":{"anyOf":[{"$ref":"#/components/schemas/HybridSearchTuningParams"},{"type":"null"}],"description":"Hybrid search tuning parameters. See the endpoint description for more details.","examples":[{"weight_a":0.5,"weight_b":0.5},{"weight_a":0.3,"weight_b":0.7}]},"media_type":{"anyOf":[{"$ref":"#/components/schemas/FileContentTypes"},{"type":"null"}],"description":"Used to filter the kind of files (e.g. `TEXT` or `IMAGE`) over which to perform the search. Also\n plays a role in determining what embedding model is used to embed the query. If `IMAGE` is chosen as the media type,\n then the embedding model used will be an embedding model that is not text-only, *regardless* of what value is passed\n for `embedding_model`.","default":"TEXT"},"embedding_model":{"anyOf":[{"$ref":"#/components/schemas/EmbeddingGenerators"},{"type":"null"}],"description":"Embedding model that should be used to embed the query. For this to be effective, the\n files being searched must also have embeddings in Carbon that were generated by the same embedding model."},"include_file_level_metadata":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include File Level Metadata","description":"Flag to control whether or not to include file-level metadata in the response. This metadata\n will be included in the `content_metadata` field of each document along with chunk/embedding level metadata.","default":false},"high_accuracy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"High Accuracy","description":"Flag to control whether or not to perform a high accuracy embedding search. By default, this is set to false.\n If true, the search may return more accurate results, but may take longer to complete.","default":false},"rerank":{"anyOf":[{"$ref":"#/components/schemas/RerankParams"},{"type":"null"}],"description":"Parameters for reranking the chunks using a specified model. This field accepts an object with details of the reranking model to be used; either 'Cohere' or 'Jina'. If provided, the specified reranking model will reorder the retrieved chunks based on their relevance to the query."},"file_types_at_source":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/HelpdeskFileTypes"},{"$ref":"#/components/schemas/ServiceNowFileTypes"}]},"type":"array"},{"type":"null"}],"title":"File Types At Source","description":"Filter files based on their type at the source (for example help center tickets and articles)"},"exclude_cold_storage_files":{"type":"boolean","title":"Exclude Cold Storage Files","description":"Flag to control whether or not to exclude files that are not in hot storage. If set to False, then an error will be returned if any filtered\n files are in cold storage.","default":false}},"type":"object","required":["query","k"],"title":"GetEmbeddingDocumentsBody"},"GitbookAuthetication":{"properties":{"source":{"type":"string","enum":["GITBOOK"],"const":"GITBOOK","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"organization_name":{"type":"string","title":"Organization Name"}},"type":"object","required":["source","access_token","organization_name"],"title":"GitbookAuthetication"},"GitbookConnectRequest":{"properties":{"organization":{"type":"string","title":"Organization"},"access_token":{"type":"string","title":"Access Token"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"sync_files_on_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Files On Connection","default":true},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":true},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}]},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["organization","access_token"],"title":"GitbookConnectRequest"},"GitbookFileTypes":{"type":"string","enum":["SPACE","SHEET","GROUP","LINK"],"title":"GitbookFileTypes"},"GitbookSyncRequest":{"properties":{"space_ids":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Space Ids"},"data_source_id":{"type":"integer","title":"Data Source Id"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}]}},"type":"object","required":["space_ids","data_source_id"],"title":"GitbookSyncRequest"},"GithubAuthentication":{"properties":{"source":{"type":"string","enum":["GITHUB"],"const":"GITHUB","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"username":{"type":"string","title":"Username"}},"type":"object","required":["source","access_token","username"],"title":"GithubAuthentication"},"GithubConnectRequest":{"properties":{"username":{"type":"string","title":"Username"},"access_token":{"type":"string","title":"Access Token"},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":false},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["username","access_token"],"title":"GithubConnectRequest"},"GithubFetchReposRequest":{"properties":{"repos":{"items":{"type":"string"},"type":"array","maxItems":25,"minItems":1,"title":"Repos"},"data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"}},"type":"object","required":["repos"],"title":"GithubFetchReposRequest"},"GithubFileTypes":{"type":"string","enum":["REPOSITORY","DIRECTORY","FILE"],"title":"GithubFileTypes"},"GmailSyncInput":{"properties":{"filters":{"type":"object","title":"Filters"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"sync_attachments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Attachments","default":false},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}]},"incremental_sync":{"type":"boolean","title":"Incremental Sync","default":false}},"type":"object","required":["filters"],"title":"GmailSyncInput"},"GongAuthentication":{"properties":{"source":{"type":"string","enum":["GONG"],"const":"GONG","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"gong_account_email":{"type":"string","title":"Gong Account Email"}},"type":"object","required":["source","access_token","gong_account_email"],"title":"GongAuthentication"},"GongFileTypes":{"type":"string","enum":["WORKSPACE","FOLDER","CALL"],"title":"GongFileTypes"},"GoogleDriveCredentials":{"properties":{"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"}},"type":"object","required":["client_id","redirect_uri"],"title":"GoogleDriveCredentials"},"GoogleDriveWhiteLabelInput":{"properties":{"data_source_type":{"type":"string","enum":["GOOGLE_DRIVE"],"const":"GOOGLE_DRIVE","title":"Data Source Type"},"credentials":{"$ref":"#/components/schemas/GoogleDriveCredentials"}},"type":"object","required":["data_source_type","credentials"],"title":"GoogleDriveWhiteLabelInput"},"GuruAuthentication":{"properties":{"source":{"type":"string","enum":["GURU"],"const":"GURU","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"username":{"type":"string","title":"Username"}},"type":"object","required":["source","access_token","username"],"title":"GuruAuthentication"},"GuruConnectRequest":{"properties":{"username":{"type":"string","title":"Username"},"access_token":{"type":"string","title":"Access Token"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"sync_files_on_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Files On Connection","default":true},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":true},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}],"description":"Used to configure file syncing when sync_files_on_connection is set to true"},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["username","access_token"],"title":"GuruConnectRequest"},"GuruFileTypes":{"type":"string","enum":["COLLECTION","FOLDER","CARD"],"title":"GuruFileTypes"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeadOrBase":{"properties":{"label":{"type":"string","title":"Label"},"ref":{"type":"string","title":"Ref"},"sha":{"type":"string","title":"Sha"}},"type":"object","required":["label","ref","sha"],"title":"HeadOrBase"},"HelpdeskFileTypes":{"type":"string","enum":["TICKET","ARTICLE","CONVERSATION"],"title":"HelpdeskFileTypes"},"HybridSearchTuningParams":{"properties":{"weight_a":{"type":"number","title":"Weight A"},"weight_b":{"type":"number","title":"Weight B"}},"type":"object","required":["weight_a","weight_b"],"title":"HybridSearchTuningParams"},"IntercomFileTypes":{"type":"string","enum":["ARTICLE","COLLECTION","HELP_CENTER","TICKET","TICKET_ATTACHMENT","CONTACT","ADMIN","TEAM","CONVERSATION"],"title":"IntercomFileTypes"},"Issue":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"html_url":{"type":"string","title":"Html Url"},"number":{"type":"integer","title":"Number"},"user":{"$ref":"#/components/schemas/User"},"labels":{"items":{"$ref":"#/components/schemas/Label"},"type":"array","title":"Labels"},"state":{"$ref":"#/components/schemas/PRState"},"locked":{"type":"boolean","title":"Locked"},"num_comments":{"type":"integer","title":"Num Comments"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"closed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Closed At"},"draft":{"type":"boolean","title":"Draft"},"pull_request":{"anyOf":[{"$ref":"#/components/schemas/IssuePR"},{"type":"null"}]},"body":{"type":"string","title":"Body"},"closed_by":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}]}},"type":"object","required":["id","title","url","html_url","number","user","labels","state","locked","num_comments","created_at","updated_at","closed_at","draft","pull_request","body","closed_by"],"title":"Issue"},"IssuePR":{"properties":{"url":{"type":"string","title":"Url"},"merged_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merged At"}},"type":"object","required":["url","merged_at"],"title":"IssuePR"},"IssuesFilter":{"properties":{"state":{"$ref":"#/components/schemas/PRStateInput","default":"open"}},"type":"object","title":"IssuesFilter"},"IssuesInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"repository":{"type":"string","title":"Repository","description":"Full name of the repository, denoted as {owner}/{repo}"},"page":{"type":"integer","title":"Page","default":1},"page_size":{"type":"integer","maximum":100.0,"title":"Page Size","default":30},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"filters":{"$ref":"#/components/schemas/IssuesFilter","default":{"state":"open"}},"order_by":{"$ref":"#/components/schemas/IssuesOrderBy","default":"created"},"order_dir":{"anyOf":[{"$ref":"#/components/schemas/OrderDirV2"},{"type":"null"}],"default":"asc"}},"type":"object","required":["data_source_id","repository"],"title":"IssuesInput"},"IssuesOrderBy":{"type":"string","enum":["created","updated","comments"],"title":"IssuesOrderBy"},"IssuesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Issue"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data","next_cursor"],"title":"IssuesResponse"},"Label":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"Label"},"Lead":{"properties":{"id":{"type":"string","title":"Id"},"owner":{"$ref":"#/components/schemas/PartialOwner"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"addresses":{"items":{"$ref":"#/components/schemas/Address"},"type":"array","title":"Addresses"},"phone_numbers":{"items":{"$ref":"#/components/schemas/PhoneNumber"},"type":"array","title":"Phone Numbers"},"emails":{"items":{"$ref":"#/components/schemas/Email"},"type":"array","title":"Emails"},"converted_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Converted At"},"converted_account":{"anyOf":[{"$ref":"#/components/schemas/PartialAccount"},{"type":"null"}]},"converted_contact":{"anyOf":[{"$ref":"#/components/schemas/PartialContact"},{"type":"null"}]},"last_activity_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Activity At"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"tasks":{"anyOf":[{"items":{"$ref":"#/components/schemas/Task"},"type":"array"},{"type":"null"}],"title":"Tasks"},"events":{"anyOf":[{"items":{"$ref":"#/components/schemas/Event"},"type":"array"},{"type":"null"}],"title":"Events"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","owner","source","status","title","company","first_name","last_name","description","addresses","phone_numbers","emails","converted_at","converted_account","converted_contact","last_activity_at","created_at","updated_at","is_deleted","remote_data"],"title":"Lead"},"LeadFilters":{"properties":{"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"converted_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Converted Account Id"},"converted_contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Converted Contact Id"}},"type":"object","title":"LeadFilters"},"LeadsOrderBy":{"type":"string","enum":["created_at","updated_at","name","last_activity_at"],"title":"LeadsOrderBy"},"LeadsRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"page_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Size"},"order_dir":{"anyOf":[{"$ref":"#/components/schemas/OrderDirV2"},{"type":"null"}],"default":"asc"},"includes":{"items":{"$ref":"#/components/schemas/BaseIncludes"},"type":"array","title":"Includes","default":[]},"filters":{"$ref":"#/components/schemas/LeadFilters","default":{}},"order_by":{"anyOf":[{"$ref":"#/components/schemas/LeadsOrderBy"},{"type":"null"}]}},"type":"object","required":["data_source_id"],"title":"LeadsRequest"},"LeadsResponse":{"properties":{"count":{"type":"integer","title":"Count"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"data":{"items":{"$ref":"#/components/schemas/Lead"},"type":"array","title":"Data"}},"type":"object","required":["count","next_cursor","data"],"title":"LeadsResponse"},"ListDataSourceItemsRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"filters":{"anyOf":[{"$ref":"#/components/schemas/ListItemsFilters"},{"type":"null"}]},"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/ExternalSourceItemsOrderBy","default":"name"},"order_dir":{"$ref":"#/components/schemas/OrderDirV2","default":"asc"}},"type":"object","required":["data_source_id"],"title":"ListDataSourceItemsRequest"},"ListDataSourceItemsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ExternalSourceItem"},"type":"array","title":"Items"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["items","count"],"title":"ListDataSourceItemsResponse"},"ListItemsFilters":{"properties":{"external_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"External Ids"},"ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ids"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"root_files_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Root Files Only"},"file_formats":{"anyOf":[{"items":{"$ref":"#/components/schemas/StorageFileFormats"},"type":"array","maxItems":50},{"type":"null"}],"title":"File Formats"},"item_types":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/SharedSourceItemTypes"},{"$ref":"#/components/schemas/HelpdeskFileTypes"},{"$ref":"#/components/schemas/ServiceNowFileTypes"},{"$ref":"#/components/schemas/ZendeskFileTypes"},{"$ref":"#/components/schemas/IntercomFileTypes"},{"$ref":"#/components/schemas/ConfluenceFileTypes"},{"$ref":"#/components/schemas/GitbookFileTypes"},{"$ref":"#/components/schemas/GithubFileTypes"},{"$ref":"#/components/schemas/GuruFileTypes"},{"$ref":"#/components/schemas/GongFileTypes"},{"$ref":"#/components/schemas/AzureBlobStorageTypes"}]},"type":"array","maxItems":50},{"type":"null"}],"title":"Item Types"}},"type":"object","title":"ListItemsFilters"},"ListRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["data_source_id"],"title":"ListRequest"},"ListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DirectoryItem"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ListResponse"},"ListUserResponse":{"properties":{"id":{"type":"integer","title":"Id"},"organization_id":{"type":"integer","title":"Organization Id"},"organization_supplied_user_id":{"type":"string","title":"Organization Supplied User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"},"enabled_features":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Enabled Features"},"custom_limits":{"type":"object","title":"Custom Limits","default":{}},"auto_sync_enabled_sources":{"items":{},"type":"array","title":"Auto Sync Enabled Sources","default":[]}},"type":"object","required":["id","organization_id","organization_supplied_user_id","created_at","updated_at","deleted_at","enabled_features"],"title":"ListUserResponse"},"ListUsersFilters":{"properties":{"customer_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customer Ids","description":"Filter by a list of customer IDs"},"carbon_user_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Carbon User Ids","description":"Filter by a list of carbon user IDs"}},"type":"object","title":"ListUsersFilters"},"ListUsersOrderByTypes":{"type":"string","enum":["created_at","updated_at"],"title":"ListUsersOrderByTypes"},"ListUsersRequest":{"properties":{"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"filters":{"$ref":"#/components/schemas/ListUsersFilters","default":{}},"order_by":{"$ref":"#/components/schemas/ListUsersOrderByTypes","default":"created_at"},"order_dir":{"$ref":"#/components/schemas/OrderDirV2","default":"desc"},"include_count":{"type":"boolean","title":"Include Count","default":false}},"type":"object","title":"ListUsersRequest"},"ListWhiteLabelRequest":{"properties":{"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/WhiteLabelOrderByColumns","default":"created_at"},"order_dir":{"$ref":"#/components/schemas/OrderDir","default":"asc"},"filters":{"$ref":"#/components/schemas/WhiteLabelFilters","default":{"ids":[],"data_source_type":[]}}},"type":"object","title":"ListWhiteLabelRequest"},"ModifyColdStorageParametersQueryInput":{"properties":{"filters":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncFilters","default":{"include_all_children":false,"non_synced_only":false}},"enable_cold_storage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Cold Storage"},"hot_storage_time_to_live":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hot Storage Time To Live","gte":1}},"type":"object","title":"ModifyColdStorageParametersQueryInput"},"ModifyUserConfigurationInput":{"properties":{"configuration_key_name":{"$ref":"#/components/schemas/ConfigurationKeys"},"value":{"type":"object","title":"Value"}},"type":"object","required":["configuration_key_name","value"],"title":"ModifyUserConfigurationInput"},"MoveToHotStorageQueryInput":{"properties":{"filters":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncFilters","default":{"include_all_children":false,"non_synced_only":false}}},"type":"object","title":"MoveToHotStorageQueryInput"},"MultiModalEmbeddingGenerators":{"type":"string","enum":["VERTEX_MULTIMODAL"],"const":"VERTEX_MULTIMODAL","title":"MultiModalEmbeddingGenerators"},"NotionAuthentication":{"properties":{"source":{"type":"string","enum":["NOTION"],"const":"NOTION","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"workspace_id":{"type":"string","title":"Workspace Id"}},"type":"object","required":["source","access_token","workspace_id"],"title":"NotionAuthentication"},"OAuthAuthentication":{"properties":{"source":{"$ref":"#/components/schemas/SimpleOAuthDataSources"},"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}},"type":"object","required":["source","access_token"],"title":"OAuthAuthentication"},"OAuthURLRequest":{"properties":{"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes","description":"List of scopes to request from the OAuth provider. Please that the scopes will be used as it is, not \n combined with the default props that Carbon uses. One scope should be one array element.","default":[]},"service":{"$ref":"#/components/schemas/OauthBasedConnectors"},"tags":{"anyOf":[{},{"type":"null"}],"title":"Tags"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"anyOf":[{"$ref":"#/components/schemas/EmbeddingGenerators"},{"type":"null"}],"default":"OPENAI"},"zendesk_subdomain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zendesk Subdomain"},"microsoft_tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microsoft Tenant"},"sharepoint_site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sharepoint Site Name"},"confluence_subdomain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confluence Subdomain"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"max_items_per_chunk":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Max Items Per Chunk","description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only."},"salesforce_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salesforce Domain"},"sync_files_on_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Files On Connection","description":"Used to specify whether Carbon should attempt to sync all your files automatically when authorization\n is complete. This is only supported for a subset of connectors and will be ignored for the rest. Supported\n connectors: Intercom, Zendesk, Gitbook, Confluence, Salesforce, Freshdesk","default":true},"set_page_as_boundary":{"type":"boolean","title":"Set Page As Boundary","default":false},"data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id","description":"Used to specify a data source to sync from if you have multiple connected. It can be skipped if \n you only have one data source of that type connected or are connecting a new account."},"connecting_new_account":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Connecting New Account","description":"Used to connect a new data source. If not specified, we will attempt to create a sync URL\n for an existing data source based on type and ID.","default":false},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"This request id will be added to all files that get synced using the generated OAuth URL"},"use_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Ocr","description":"Enable OCR for files that support it. Supported formats: pdf, png, jpg","default":false},"parse_pdf_tables_with_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parse Pdf Tables With Ocr","default":false},"enable_file_picker":{"type":"boolean","title":"Enable File Picker","description":"Enable integration's file picker for sources that support it. Supported sources: BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT","default":true},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":true},"incremental_sync":{"type":"boolean","title":"Incremental Sync","description":"Only sync files if they have not already been synced or if the embedding properties have changed.\n This flag is currently supported by ONEDRIVE, GOOGLE_DRIVE, BOX, DROPBOX, INTERCOM, GMAIL, OUTLOOK, ZENDESK, CONFLUENCE, NOTION, SHAREPOINT, SERVICENOW. It will be ignored for other data sources.","default":false},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}],"description":"Used to configure file syncing (automatic or through connector's inbuilt file picker) on completion\n of the OAuth flow"},"automatically_open_file_picker":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Automatically Open File Picker","description":"Automatically open source file picker after the OAuth flow is complete. This flag is currently supported by\n BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT. It will be ignored for other data sources."},"gong_account_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gong Account Email","description":"If you are connecting a Gong account, you need to input the email of the account you\n wish to connect. This email will be used to identify your carbon data source."},"servicenow_credentials":{"anyOf":[{"$ref":"#/components/schemas/ServiceNowCredentials"},{"type":"null"}],"description":"ServiceNow credentials required to connect a ServiceNow account. The instance_subdomain can be extracted from\n the url of the instance url which takes the form of \"<instance-subdomain>.service-now.com\". The client_id and client_secret are\n values generated by creating a new OAuth API Integration in ServiceNow. When creating the OAuth API Integration, the redirect\n uri must be \"https://api.carbon.ai/integrations/servicenow\" or a similar one using a CNAME."},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["service"],"title":"OAuthURLRequest"},"OauthBasedConnectors":{"type":"string","enum":["BOX","CONFLUENCE","DROPBOX","GMAIL","GOOGLE_DRIVE","GOOGLE_CLOUD_STORAGE","INTERCOM","NOTION","ONEDRIVE","OUTLOOK","SALESFORCE","SHAREPOINT","SLACK","ZENDESK","ZOTERO","GONG","SERVICENOW"],"title":"OauthBasedConnectors"},"OneDriveAuthentication":{"properties":{"source":{"type":"string","enum":["ONEDRIVE"],"const":"ONEDRIVE","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"tenant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Name"}},"type":"object","required":["source","access_token"],"title":"OneDriveAuthentication"},"OneDriveSharepointCredentials":{"properties":{"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"},"file_picker_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Picker Client Id"},"file_picker_redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Picker Redirect Uri"}},"type":"object","required":["client_id","redirect_uri"],"title":"OneDriveSharepointCredentials"},"OneDriveSharepointWhiteLabelInput":{"properties":{"data_source_type":{"type":"string","enum":["ONEDRIVE","SHAREPOINT"],"title":"Data Source Type"},"credentials":{"$ref":"#/components/schemas/OneDriveSharepointCredentials"}},"type":"object","required":["data_source_type","credentials"],"title":"OneDriveSharepointWhiteLabelInput"},"OpportunitiesOrderBy":{"type":"string","enum":["created_at","updated_at","amount","name","last_activity_at","close_date"],"title":"OpportunitiesOrderBy"},"OpportunitiesRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"page_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Size"},"order_dir":{"anyOf":[{"$ref":"#/components/schemas/OrderDirV2"},{"type":"null"}],"default":"asc"},"includes":{"items":{"$ref":"#/components/schemas/BaseIncludes"},"type":"array","title":"Includes","default":[]},"filters":{"$ref":"#/components/schemas/OpportunityFilters","default":{}},"order_by":{"anyOf":[{"$ref":"#/components/schemas/OpportunitiesOrderBy"},{"type":"null"}]}},"type":"object","required":["data_source_id"],"title":"OpportunitiesRequest"},"OpportunitiesResponse":{"properties":{"count":{"type":"integer","title":"Count"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"data":{"items":{"$ref":"#/components/schemas/Opportunity"},"type":"array","title":"Data"}},"type":"object","required":["count","next_cursor","data"],"title":"OpportunitiesResponse"},"Opportunity":{"properties":{"id":{"type":"string","title":"Id"},"owner":{"$ref":"#/components/schemas/PartialOwner"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount"},"account":{"anyOf":[{"$ref":"#/components/schemas/PartialAccount"},{"type":"null"}]},"contact":{"anyOf":[{"$ref":"#/components/schemas/PartialContact"},{"type":"null"}]},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"status":{"anyOf":[{"$ref":"#/components/schemas/OpportunityStatus"},{"type":"null"}]},"close_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Close Date"},"last_activity_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Activity At"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"tasks":{"anyOf":[{"items":{"$ref":"#/components/schemas/Task"},"type":"array"},{"type":"null"}],"title":"Tasks"},"events":{"anyOf":[{"items":{"$ref":"#/components/schemas/Event"},"type":"array"},{"type":"null"}],"title":"Events"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","owner","name","description","amount","account","contact","stage","status","close_date","last_activity_at","created_at","updated_at","is_deleted","remote_data"],"title":"Opportunity"},"OpportunityFilters":{"properties":{"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Id"},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"},"status":{"anyOf":[{"$ref":"#/components/schemas/OpportunityStatus"},{"type":"null"}]},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"}},"type":"object","title":"OpportunityFilters"},"OpportunityStatus":{"type":"string","enum":["WON","OPEN"],"title":"OpportunityStatus"},"OrderDir":{"type":"string","enum":["desc","asc"],"title":"OrderDir"},"OrderDirV2":{"type":"string","enum":["asc","desc"],"title":"OrderDirV2"},"OrganizationResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nickname"},"remove_branding":{"type":"boolean","title":"Remove Branding"},"custom_branding":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Custom Branding"},"custom_limits":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Custom Limits"},"aggregate_file_size":{"type":"object","title":"Aggregate File Size"},"aggregate_num_characters":{"type":"object","title":"Aggregate Num Characters"},"aggregate_num_tokens":{"type":"object","title":"Aggregate Num Tokens"},"aggregate_num_embeddings":{"type":"object","title":"Aggregate Num Embeddings"},"aggregate_num_files_by_source":{"type":"object","title":"Aggregate Num Files By Source"},"aggregate_num_files_by_file_format":{"type":"object","title":"Aggregate Num Files By File Format"},"file_statistics_aggregated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"File Statistics Aggregated At"},"period_ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Period Ends At"},"cancel_at_period_end":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cancel At Period End"},"connector_settings":{"type":"object","title":"Connector Settings","default":{}},"global_user_config":{"type":"object","title":"Global User Config","default":{}},"file_sync_usage":{"type":"object","title":"File Sync Usage","default":{}},"logging_settings":{"type":"object","title":"Logging Settings","default":{}},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","remove_branding","aggregate_file_size","aggregate_num_characters","aggregate_num_tokens","aggregate_num_embeddings","aggregate_num_files_by_source","aggregate_num_files_by_file_format","file_statistics_aggregated_at","created_at","updated_at"],"title":"OrganizationResponse"},"OrganizationUserDataSourceAPI":{"properties":{"id":{"type":"integer","title":"Id"},"data_source_external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Source External Id"},"data_source_type":{"$ref":"#/components/schemas/DataSourceType"},"token":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Token"},"sync_status":{"$ref":"#/components/schemas/DataSourceSyncStatuses"},"source_items_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Source Items Synced At"},"organization_user_id":{"type":"integer","title":"Organization User Id"},"organization_id":{"type":"integer","title":"Organization Id"},"organization_supplied_user_id":{"type":"string","title":"Organization Supplied User Id"},"revoked_access":{"type":"boolean","title":"Revoked Access"},"last_synced_at":{"type":"string","format":"date-time","title":"Last Synced At"},"last_sync_action":{"$ref":"#/components/schemas/DataSourceLastSyncActions"},"enable_auto_sync":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Auto Sync"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"files_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Files Synced At"},"data_source_metadata":{"type":"object","title":"Data Source Metadata"},"tags":{"type":"object","title":"Tags"}},"type":"object","required":["id","data_source_external_id","data_source_type","token","sync_status","source_items_synced_at","organization_user_id","organization_id","organization_supplied_user_id","revoked_access","last_synced_at","last_sync_action","enable_auto_sync","created_at","updated_at","files_synced_at","data_source_metadata","tags"],"title":"OrganizationUserDataSourceAPI"},"OrganizationUserDataSourceFilters":{"properties":{"source":{"anyOf":[{"$ref":"#/components/schemas/DataSourceType"},{"type":"null"}]},"ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ids"},"revoked_access":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Revoked Access"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","description":"\n Tags to filter by. Supports logical AND and OR operations. Input should be like below:\n {\n \"OR\": [\n {\n \"key\": \"subject\",\n \"value\": \"holy-bible\",\n \"negate\": false\n },\n {\n \"key\": \"person-of-interest\",\n \"value\": \"jesus christ\",\n \"negate\": false\n },\n {\n \"key\": \"genre\",\n \"value\": \"fiction\",\n \"negate\": true\n }\n {\n \"AND\": [\n {\n \"key\": \"subject\",\n \"value\": \"tao-te-ching\",\n \"negate\": true\n },\n {\n \"key\": \"author\",\n \"value\": \"lao-tzu\",\n \"negate\": false\n }\n ]\n }\n ]\n }\n For a single filter, the filter block can be placed within either an \"AND\" or \"OR\" block.\n "}},"type":"object","title":"OrganizationUserDataSourceFilters"},"OrganizationUserDataSourceOrderByColumns":{"type":"string","enum":["created_at","updated_at"],"title":"OrganizationUserDataSourceOrderByColumns"},"OrganizationUserDataSourceQueryInput":{"properties":{"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/OrganizationUserDataSourceOrderByColumns","default":"updated_at"},"order_dir":{"$ref":"#/components/schemas/OrderDir","default":"asc"},"filters":{"$ref":"#/components/schemas/OrganizationUserDataSourceFilters","default":{}}},"type":"object","title":"OrganizationUserDataSourceQueryInput"},"OrganizationUserDataSourceResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/OrganizationUserDataSourceAPI"},"type":"array","title":"Results"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["results","count"],"title":"OrganizationUserDataSourceResponse"},"OrganizationUserFileTagCreate":{"properties":{"organization_user_file_id":{"type":"integer","title":"Organization User File Id"},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"items":{"type":"integer"},"type":"array"},{"items":{"type":"boolean"},"type":"array"}]},"type":"object","title":"Tags"}},"type":"object","required":["organization_user_file_id","tags"],"title":"OrganizationUserFileTagCreate"},"OrganizationUserFileTagsRemove":{"properties":{"organization_user_file_id":{"type":"integer","title":"Organization User File Id"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"}},"type":"object","required":["organization_user_file_id","tags"],"title":"OrganizationUserFileTagsRemove"},"OrganizationUserFilesToSyncFilters":{"properties":{"source":{"anyOf":[{"$ref":"#/components/schemas/DataSourceType"},{"items":{"$ref":"#/components/schemas/DataSourceType"},"type":"array"},{"type":"null"}],"title":"Source","description":"The source of the file. If a list is provided, the query will return files from any of the sources in the list."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The name of the file. The query will return files with names that contain this string."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"items":{"type":"integer"},"type":"array"},{"items":{"type":"boolean"},"type":"array"}]},"type":"object"},{"type":"null"}],"title":"Tags","deprecated":true},"tags_v2":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags V2","description":"\n Tags to filter by. Supports logical AND and OR operations. Input should be like below:\n {\n \"OR\": [\n {\n \"key\": \"subject\",\n \"value\": \"holy-bible\",\n \"negate\": false\n },\n {\n \"key\": \"person-of-interest\",\n \"value\": \"jesus christ\",\n \"negate\": false\n },\n {\n \"key\": \"genre\",\n \"value\": \"fiction\",\n \"negate\": true\n }\n {\n \"AND\": [\n {\n \"key\": \"subject\",\n \"value\": \"tao-te-ching\",\n \"negate\": true\n },\n {\n \"key\": \"author\",\n \"value\": \"lao-tzu\",\n \"negate\": false\n }\n ]\n }\n ]\n }\n For a single filter, the filter block can be placed within either an \"AND\" or \"OR\" block.\n "},"ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ids","description":"The IDs of the files. The query will return files with these IDs."},"external_file_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"External File Ids","description":"The external file IDs of the files. The query will return files with these external file IDs."},"sync_statuses":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExternalFileSyncStatuses"},"type":"array"},{"type":"null"}],"title":"Sync Statuses","description":"The sync statuses of the files. The query will return files with these sync statuses."},"parent_file_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Parent File Ids","deprecated":true},"organization_user_data_source_id":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Organization User Data Source Id","description":"The organization user data source IDs of the files. The query will return files with these organization user data source IDs."},"embedding_generators":{"anyOf":[{"items":{"$ref":"#/components/schemas/EmbeddingGenerators"},"type":"array"},{"type":"null"}],"title":"Embedding Generators","description":"The embedding generators of the files. The query will return files with these embedding generators."},"root_files_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Root Files Only","description":"If true, the query will return only root files. Cannot be true if parent_file_ids or include_all_children is specified."},"include_all_children":{"type":"boolean","title":"Include All Children","description":"If true, the query will return all descendents of the specified parent_file_ids.","default":false},"non_synced_only":{"type":"boolean","title":"Non Synced Only","description":"If true, the query will return only files that have not been synced yet.","default":false},"request_ids":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":100},{"type":"null"}],"title":"Request Ids","description":"Filter by request ID(s) which were used to sync the files"},"upload_ids":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":100},{"type":"null"}],"title":"Upload Ids","description":"Filter by upload ID(s) which were used to sync the files"},"sync_error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sync Error Message","description":"The error message of the file. The query will return files with error messages that contain this string. To search for files with no error message, use an empty string."},"include_containers":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Containers","description":"If true, the query will return containers in the response. Containers are files that group other files together and have no content themselves. Default behavior is to include containers."},"external_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"External Urls","description":"The external URLs of the files. The query will return files with these external URLs."},"file_types_at_source":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/HelpdeskFileTypes"},{"$ref":"#/components/schemas/ServiceNowFileTypes"}]},"type":"array"},{"type":"null"}],"title":"File Types At Source","description":"Filter files based on their type at the source (for example help center tickets and articles)"}},"type":"object","title":"OrganizationUserFilesToSyncFilters"},"OrganizationUserFilesToSyncOrderByTypes":{"type":"string","enum":["created_at","updated_at","name","last_sync","file_size","id"],"title":"OrganizationUserFilesToSyncOrderByTypes"},"OrganizationUserFilesToSyncQueryInput":{"properties":{"pagination":{"$ref":"#/components/schemas/Pagination","description":"Pagination parameters for the query.","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncOrderByTypes","description":"The field on OrganizationUserFilesToSYnc to order the results by.","default":"updated_at"},"order_dir":{"$ref":"#/components/schemas/OrderDir","description":"The direction to order the results by.","default":"asc"},"filters":{"$ref":"#/components/schemas/OrganizationUserFilesToSyncFilters","description":"Filters to apply to the query.","default":{"include_all_children":false,"non_synced_only":false}},"include_raw_file":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Raw File","description":"If true, the query will return presigned URLs for the raw file. Only relevant for the /user_files_v2 endpoint."},"include_parsed_text_file":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Parsed Text File","description":"If true, the query will return presigned URLs for the parsed text file. Only relevant for the /user_files_v2 endpoint."},"include_additional_files":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Additional Files","description":"If true, the query will return presigned URLs for additional files. Only relevant for the /user_files_v2 endpoint."},"presigned_url_expiry_time_seconds":{"type":"integer","title":"Presigned Url Expiry Time Seconds","description":"The expiry time for the presigned URLs. Only relevant for the /user_files_v2 endpoint.","default":3600}},"type":"object","title":"OrganizationUserFilesToSyncQueryInput"},"OuthURLResponse":{"properties":{"oauth_url":{"type":"string","title":"Oauth Url"}},"type":"object","required":["oauth_url"],"title":"OuthURLResponse"},"OutlookSyncInput":{"properties":{"folder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder","default":"Inbox"},"filters":{"type":"object","title":"Filters"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"sync_attachments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Attachments","default":false},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}]},"incremental_sync":{"type":"boolean","title":"Incremental Sync","default":false}},"type":"object","required":["filters"],"title":"OutlookSyncInput"},"PRComment":{"properties":{"id":{"type":"integer","title":"Id"},"pull_request_review_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pull Request Review Id"},"url":{"type":"string","title":"Url"},"diff_hunk":{"type":"string","title":"Diff Hunk"},"path":{"type":"string","title":"Path"},"user":{"$ref":"#/components/schemas/User"},"body":{"type":"string","title":"Body"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"start_line":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Start Line"},"line":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Line"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","pull_request_review_id","url","diff_hunk","path","user","body","created_at","updated_at","start_line","line","remote_data"],"title":"PRComment"},"PRCommit":{"properties":{"commit":{"$ref":"#/components/schemas/Commit"},"url":{"type":"string","title":"Url"},"author":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}]},"committer":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}]},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["commit","url","author","committer","remote_data"],"title":"PRCommit"},"PRFile":{"properties":{"sha":{"type":"string","title":"Sha"},"filename":{"type":"string","title":"Filename"},"status":{"$ref":"#/components/schemas/FileStatus"},"additions":{"type":"integer","title":"Additions"},"deletions":{"type":"integer","title":"Deletions"},"changes":{"type":"integer","title":"Changes"},"blob_url":{"type":"string","title":"Blob Url"},"raw_url":{"type":"string","title":"Raw Url"},"contents_url":{"type":"string","title":"Contents Url"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["sha","filename","status","additions","deletions","changes","blob_url","raw_url","contents_url","remote_data"],"title":"PRFile"},"PROrderBy":{"type":"string","enum":["created","updated","popularity"],"title":"PROrderBy"},"PRState":{"type":"string","enum":["closed","open"],"title":"PRState"},"PRStateInput":{"type":"string","enum":["closed","open","all"],"title":"PRStateInput"},"Pagination":{"properties":{"limit":{"type":"integer","title":"Limit","default":10},"offset":{"type":"integer","title":"Offset","default":0},"starting_id":{"type":"integer","title":"Starting Id","default":0}},"type":"object","title":"Pagination"},"PartialAccount":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["id"],"title":"PartialAccount"},"PartialContact":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["id"],"title":"PartialContact"},"PartialOwner":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["id"],"title":"PartialOwner"},"PhoneNumber":{"properties":{"phone_number":{"type":"string","title":"Phone Number"},"phone_number_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number Type"}},"type":"object","required":["phone_number","phone_number_type"],"title":"PhoneNumber"},"PresignedURLResponse":{"properties":{"presigned_url":{"type":"string","title":"Presigned Url"}},"type":"object","required":["presigned_url"],"title":"PresignedURLResponse"},"PullRequest":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"number":{"type":"integer","title":"Number"},"state":{"$ref":"#/components/schemas/PRState"},"title":{"type":"string","title":"Title"},"user":{"$ref":"#/components/schemas/User"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"closed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Closed At"},"merged_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merged At"},"requested_reviewers":{"items":{"$ref":"#/components/schemas/User"},"type":"array","title":"Requested Reviewers"},"requested_teams":{"items":{"$ref":"#/components/schemas/Team"},"type":"array","title":"Requested Teams"},"labels":{"items":{"$ref":"#/components/schemas/Label"},"type":"array","title":"Labels"},"draft":{"type":"boolean","title":"Draft"},"head":{"$ref":"#/components/schemas/HeadOrBase"},"base":{"$ref":"#/components/schemas/HeadOrBase"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","url","number","state","title","user","created_at","updated_at","closed_at","merged_at","requested_reviewers","requested_teams","labels","draft","head","base","remote_data"],"title":"PullRequest"},"PullRequestExtended":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"number":{"type":"integer","title":"Number"},"state":{"$ref":"#/components/schemas/PRState"},"title":{"type":"string","title":"Title"},"user":{"$ref":"#/components/schemas/User"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"closed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Closed At"},"merged_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merged At"},"requested_reviewers":{"items":{"$ref":"#/components/schemas/User"},"type":"array","title":"Requested Reviewers"},"requested_teams":{"items":{"$ref":"#/components/schemas/Team"},"type":"array","title":"Requested Teams"},"labels":{"items":{"$ref":"#/components/schemas/Label"},"type":"array","title":"Labels"},"draft":{"type":"boolean","title":"Draft"},"head":{"$ref":"#/components/schemas/HeadOrBase"},"base":{"$ref":"#/components/schemas/HeadOrBase"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"},"merged":{"type":"boolean","title":"Merged"},"num_comments":{"type":"integer","title":"Num Comments"},"num_review_comments":{"type":"integer","title":"Num Review Comments"},"num_commits":{"type":"integer","title":"Num Commits"},"num_additions":{"type":"integer","title":"Num Additions"},"num_deletions":{"type":"integer","title":"Num Deletions"},"num_changed_files":{"type":"integer","title":"Num Changed Files"}},"type":"object","required":["id","url","number","state","title","user","created_at","updated_at","closed_at","merged_at","requested_reviewers","requested_teams","labels","draft","head","base","remote_data","merged","num_comments","num_review_comments","num_commits","num_additions","num_deletions","num_changed_files"],"title":"PullRequestExtended"},"PullRequestFilters":{"properties":{"state":{"$ref":"#/components/schemas/PRStateInput","default":"open"},"base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base","description":"Filter pulls by base branch name"},"head":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Head","description":"Filter pulls by head user or head organization and branch name in the format of user:ref-name or organization:ref-name"}},"type":"object","title":"PullRequestFilters"},"PullRequestResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PullRequest"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data","next_cursor"],"title":"PullRequestResponse"},"PullRequestsInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"include_remote_data":{"type":"boolean","title":"Include Remote Data","default":false},"repository":{"type":"string","title":"Repository","description":"Full name of the repository, denoted as {owner}/{repo}"},"page":{"type":"integer","title":"Page","default":1},"page_size":{"type":"integer","maximum":100.0,"title":"Page Size","default":30},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"filters":{"$ref":"#/components/schemas/PullRequestFilters","default":{"state":"open"}},"order_by":{"$ref":"#/components/schemas/PROrderBy","default":"created"},"order_dir":{"anyOf":[{"$ref":"#/components/schemas/OrderDirV2"},{"type":"null"}],"default":"asc"}},"type":"object","required":["data_source_id","repository"],"title":"PullRequestsInput"},"RSSFeedInput":{"properties":{"url":{"type":"string","title":"Url"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["url"],"title":"RSSFeedInput"},"RawTextInput":{"properties":{"contents":{"type":"string","minLength":5,"title":"Contents"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size"},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap"},"skip_embedding_generation":{"type":"boolean","title":"Skip Embedding Generation","default":false},"overwrite_file_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Overwrite File Id"},"embedding_model":{"anyOf":[{"$ref":"#/components/schemas/EmbeddingGenerators"},{"type":"null"}]},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"cold_storage_params":{"$ref":"#/components/schemas/ColdStorageProps","default":{"enable_cold_storage":false}},"generate_chunks_only":{"type":"boolean","title":"Generate Chunks Only","description":"If this flag is enabled, the file will be chunked and stored with Carbon,\n but no embeddings will be generated. This overrides the skip_embedding_generation flag.","default":false},"store_file_only":{"type":"boolean","title":"Store File Only","description":"If this flag is enabled, the file will be stored with Carbon, but no processing will be done.","default":false}},"type":"object","required":["contents"],"title":"RawTextInput"},"RemoveDataSourceTagsInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"tags_to_remove":{"items":{"type":"string"},"type":"array","title":"Tags To Remove","default":[]},"remove_all_tags":{"type":"boolean","title":"Remove All Tags","default":false}},"type":"object","required":["data_source_id"],"title":"RemoveDataSourceTagsInput"},"RerankParams":{"properties":{"model":{"type":"string","title":"Model","description":"The name of the model to use for reranking. Options: ['COHERE_RERANK_MULTILINGUAL_V3', 'JINA_RERANKER_MULTILINGUAL_V2', 'PONGO_RERANKER']."}},"type":"object","required":["model"],"title":"RerankParams"},"ResyncFileQueryInput":{"properties":{"file_id":{"type":"integer","title":"File Id"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size"},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap"},"force_embedding_generation":{"type":"boolean","title":"Force Embedding Generation","default":false},"skip_file_processing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip File Processing","default":false}},"type":"object","required":["file_id"],"title":"ResyncFileQueryInput"},"RevokeAccessTokenInput":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"}},"type":"object","required":["data_source_id"],"title":"RevokeAccessTokenInput"},"S3AuthRequest":{"properties":{"access_key":{"type":"string","title":"Access Key"},"access_key_secret":{"type":"string","title":"Access Key Secret"},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":true},"endpoint_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Url","description":"You can specify a Digital Ocean endpoint URL to connect a Digital Ocean Space through this endpoint.\n The URL should be of format <region>.digitaloceanspaces.com. It's not required for S3 buckets."},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","required":["access_key","access_key_secret"],"title":"S3AuthRequest"},"S3Authentication":{"properties":{"source":{"type":"string","enum":["S3"],"const":"S3","title":"Source"},"access_key":{"type":"string","title":"Access Key"},"access_key_secret":{"type":"string","title":"Access Key Secret"},"endpoint_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Url","description":"You can specify a Digital Ocean endpoint URL to connect a Digital Ocean Space through this endpoint.\n The URL should be of format <region>.digitaloceanspaces.com. It's not required for S3 buckets."}},"type":"object","required":["source","access_key","access_key_secret"],"title":"S3Authentication"},"S3FileSyncInput":{"properties":{"ids":{"items":{"$ref":"#/components/schemas/S3GetFileInput"},"type":"array","title":"Ids","description":"Each input should be one of the following: A bucket name, a bucket name and a prefix, or a \n bucket name and an object key. A prefix is the common path for all objects you want to sync. \n Paths should end with a forward slash."},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"max_items_per_chunk":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Max Items Per Chunk","description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only."},"set_page_as_boundary":{"type":"boolean","title":"Set Page As Boundary","default":false},"data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"use_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Ocr","default":false},"parse_pdf_tables_with_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parse Pdf Tables With Ocr","default":false},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}]}},"type":"object","required":["ids"],"title":"S3FileSyncInput"},"S3GetFileInput":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"bucket":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bucket"},"prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefix"}},"type":"object","title":"S3GetFileInput"},"SalesforceAuthentication":{"properties":{"source":{"type":"string","enum":["SALESFORCE"],"const":"SALESFORCE","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"domain":{"type":"string","title":"Domain"}},"type":"object","required":["source","access_token","domain"],"title":"SalesforceAuthentication"},"ServiceNowAuthentication":{"properties":{"source":{"type":"string","enum":["SERVICENOW"],"const":"SERVICENOW","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"instance_subdomain":{"type":"string","title":"Instance Subdomain"},"client_id":{"type":"string","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"},"redirect_uri":{"type":"string","title":"Redirect Uri"}},"type":"object","required":["source","access_token","instance_subdomain","client_id","client_secret","redirect_uri"],"title":"ServiceNowAuthentication"},"ServiceNowCredentials":{"properties":{"instance_subdomain":{"type":"string","title":"Instance Subdomain"},"client_id":{"type":"string","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"},"redirect_uri":{"type":"string","title":"Redirect Uri"}},"type":"object","required":["instance_subdomain","client_id","client_secret","redirect_uri"],"title":"ServiceNowCredentials"},"ServiceNowFileTypes":{"type":"string","enum":["TABLE","INCIDENT","ATTACHMENT"],"title":"ServiceNowFileTypes"},"SharedSourceItemTypes":{"type":"string","enum":["FILE","FOLDER"],"title":"SharedSourceItemTypes"},"SharepointAuthentication":{"properties":{"source":{"type":"string","enum":["SHAREPOINT"],"const":"SHAREPOINT","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"tenant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Name"},"site_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Name"}},"type":"object","required":["source","access_token"],"title":"SharepointAuthentication"},"SimpleOAuthDataSources":{"type":"string","enum":["GOOGLE_DRIVE","INTERCOM","DROPBOX","ONEDRIVE","BOX","GMAIL","OUTLOOK","SLACK","GOOGLE_CLOUD_STORAGE"],"title":"SimpleOAuthDataSources"},"SingleChunksAndEmbeddingsUploadInput":{"properties":{"file_id":{"type":"integer","title":"File Id"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size"},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap"},"chunks_and_embeddings":{"items":{"$ref":"#/components/schemas/ChunksAndEmbeddings"},"type":"array","title":"Chunks And Embeddings"}},"type":"object","required":["file_id","chunks_and_embeddings"],"title":"SingleChunksAndEmbeddingsUploadInput"},"SitemapScrapeRequest":{"properties":{"url":{"type":"string","title":"Url"},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"items":{"type":"integer"},"type":"array"},{"items":{"type":"boolean"},"type":"array"}]},"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"max_pages_to_scrape":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Pages To Scrape"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"enable_auto_sync":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Auto Sync","default":false},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"html_tags_to_skip":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Html Tags To Skip","default":[]},"css_classes_to_skip":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Css Classes To Skip","default":[]},"css_selectors_to_skip":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Css Selectors To Skip","default":[]},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"url_paths_to_include":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":10},{"type":"null"}],"title":"Url Paths To Include","description":"URL subpaths or directories that you want to include. For example if you want to only include\n URLs that start with /questions in stackoverflow.com, you will add /questions/ in this input","default":[]},"url_paths_to_exclude":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":10},{"type":"null"}],"title":"Url Paths To Exclude","description":"URL subpaths or directories that you want to exclude. For example if you want to exclude\n URLs that start with /questions in stackoverflow.com, you will add /questions/ in this input","default":[]},"urls_to_scrape":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Urls To Scrape","description":"You can submit a subset of URLs from the sitemap that should be scraped. To get the list of URLs,\n you can check out /process_sitemap endpoint. If left empty, all URLs from the sitemap will be scraped.","default":[]},"download_css_and_media":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Download Css And Media","description":"Whether the scraper should download css and media from the page (images, fonts, etc). Scrapes \n might take longer to finish with this flag enabled, but the success rate is improved.","default":false},"generate_chunks_only":{"type":"boolean","title":"Generate Chunks Only","description":"If this flag is enabled, the file will be chunked and stored with Carbon,\n but no embeddings will be generated. This overrides the skip_embedding_generation flag.","default":false},"store_file_only":{"type":"boolean","title":"Store File Only","description":"If this flag is enabled, the file will be stored with Carbon, but no processing will be done.","default":false},"use_premium_proxies":{"type":"boolean","title":"Use Premium Proxies","description":"If the default proxies are blocked and not returning results, this flag can be enabled to use \n alternate proxies (residential and office). Scrapes might take longer to finish with this flag enabled.\n ","default":false}},"type":"object","required":["url"],"title":"SitemapScrapeRequest"},"SlackFilters":{"properties":{"conversation_id":{"type":"string","title":"Conversation Id","description":"Conversation ID from slack, can be obtained from Carbon with slack conversations endpoint"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","description":"Only messages after this date will be included in results. If not set, all messages \n will be included. Should be entered in YYYY/mm/dd format"}},"type":"object","required":["conversation_id"],"title":"SlackFilters"},"SlackSyncRequest":{"properties":{"filters":{"$ref":"#/components/schemas/SlackFilters"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Source Id"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["filters"],"title":"SlackSyncRequest"},"StorageFileFormats":{"type":"string","enum":["TXT","CSV","TSV","PDF","DOCX","PPTX","XLSX","XLSM","MD","RTF","JSON","HTML","HTML","JPG","JPG","PNG","MP3","MP2","AAC","WAV","FLAC","PCM","M4A","OGG","OPUS","MPEG","MPG","MP4","WMV","AVI","MOV","MKV","FLV","WEBM","EML","MSG"],"title":"StorageFileFormats"},"SyncDirectoryRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"}},"type":"object","required":["data_source_id"],"title":"SyncDirectoryRequest"},"SyncFilesIds":{"properties":{"id":{"type":"string","title":"Id"},"root_id":{"type":"string","title":"Root Id"}},"type":"object","required":["id","root_id"],"title":"SyncFilesIds"},"SyncFilesRequest":{"properties":{"data_source_id":{"type":"integer","title":"Data Source Id"},"ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"items":{"$ref":"#/components/schemas/SyncFilesIds"},"type":"array"}],"title":"Ids"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"anyOf":[{"$ref":"#/components/schemas/EmbeddingGenerators"},{"type":"null"}],"default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"max_items_per_chunk":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Max Items Per Chunk","description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only."},"set_page_as_boundary":{"type":"boolean","title":"Set Page As Boundary","default":false},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"use_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Ocr","default":false},"parse_pdf_tables_with_ocr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parse Pdf Tables With Ocr","default":false},"incremental_sync":{"type":"boolean","title":"Incremental Sync","description":"Only sync files if they have not already been synced or if the embedding properties have changed.\n This flag is currently supported by ONEDRIVE, GOOGLE_DRIVE, BOX, DROPBOX, INTERCOM, GMAIL, OUTLOOK, ZENDESK, CONFLUENCE, NOTION, SHAREPOINT, SERVICENOW. It will be ignored for other data sources.","default":false},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}],"description":"Used to configure file syncing for certain connectors and file types"}},"type":"object","required":["data_source_id","ids"],"title":"SyncFilesRequest"},"SyncOptions":{"properties":{"tags":{"anyOf":[{},{"type":"null"}],"title":"Tags"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"embedding_model":{"anyOf":[{"$ref":"#/components/schemas/EmbeddingGenerators"},{"type":"null"}],"default":"OPENAI"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"max_items_per_chunk":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Max Items Per Chunk","description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only."},"sync_files_on_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sync Files On Connection","description":"Used to specify whether Carbon should attempt to sync all your files automatically when authorization\n is complete. This is only supported for a subset of connectors and will be ignored for the rest. Supported\n connectors: Intercom, Zendesk, Gitbook, Confluence, Salesforce, Freshdesk","default":true},"set_page_as_boundary":{"type":"boolean","title":"Set Page As Boundary","default":false},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"enable_file_picker":{"type":"boolean","title":"Enable File Picker","default":true},"sync_source_items":{"type":"boolean","title":"Sync Source Items","description":"Enabling this flag will fetch all available content from the source to be listed via list items endpoint","default":true},"incremental_sync":{"type":"boolean","title":"Incremental Sync","description":"Only sync files if they have not already been synced or if the embedding properties have changed.\n This flag is currently supported by ONEDRIVE, GOOGLE_DRIVE, BOX, DROPBOX, INTERCOM, GMAIL, OUTLOOK, ZENDESK, CONFLUENCE, NOTION, SHAREPOINT, SERVICENOW. It will be ignored for other data sources.","default":false},"file_sync_config":{"anyOf":[{"$ref":"#/components/schemas/FileSyncConfig"},{"type":"null"}],"description":"Used to configure file syncing for certain connectors when sync_files_on_connection is set to true"},"automatically_open_file_picker":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Automatically Open File Picker","description":"Automatically open source file picker after the OAuth flow is complete. This flag is currently supported by\n BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT. It will be ignored for other data sources."},"data_source_tags":{"type":"object","title":"Data Source Tags","description":"Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.","default":{}}},"type":"object","title":"SyncOptions"},"Task":{"properties":{"id":{"type":"string","title":"Id"},"owner":{"$ref":"#/components/schemas/PartialOwner"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"account":{"anyOf":[{"$ref":"#/components/schemas/PartialAccount"},{"type":"null"}]},"contact":{"anyOf":[{"$ref":"#/components/schemas/PartialContact"},{"type":"null"}]},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"is_deleted":{"type":"boolean","title":"Is Deleted"},"remote_data":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Remote Data"}},"type":"object","required":["id","owner","subject","status","priority","description","account","contact","created_at","updated_at","is_deleted","remote_data"],"title":"Task"},"Team":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"Team"},"TextEmbeddingGenerators":{"type":"string","enum":["OPENAI","AZURE_OPENAI","COHERE_MULTILINGUAL_V3","OPENAI_ADA_LARGE_256","OPENAI_ADA_LARGE_1024","OPENAI_ADA_LARGE_3072","OPENAI_ADA_SMALL_512","OPENAI_ADA_SMALL_1536","AZURE_ADA_LARGE_256","AZURE_ADA_LARGE_1024","AZURE_ADA_LARGE_3072","AZURE_ADA_SMALL_512","AZURE_ADA_SMALL_1536","SOLAR_1_MINI"],"title":"TextEmbeddingGenerators"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["access_token","refresh_token"],"title":"TokenResponse"},"TranscriptionService":{"type":"string","enum":["assemblyai","deepgram"],"title":"TranscriptionService"},"Tree":{"properties":{"sha":{"type":"string","title":"Sha"},"url":{"type":"string","title":"Url"}},"type":"object","required":["sha","url"],"title":"Tree"},"UpdateOrganizationInput":{"properties":{"global_user_config":{"anyOf":[{"$ref":"#/components/schemas/UserConfiguration"},{"type":"null"}],"description":"Used to set organization level defaults for user settings. These settings will apply to all users under\n the organization that don't have them defined."},"data_source_configs":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/DataSourceConfiguration"},"type":"object"},{"type":"null"}],"title":"Data Source Configs","description":"Used to set organization level defaults for configuration related to data sources."}},"type":"object","title":"UpdateOrganizationInput"},"UpdateUsersInput":{"properties":{"auto_sync_enabled_sources":{"anyOf":[{"items":{"$ref":"#/components/schemas/DataSourceType"},"type":"array"},{"$ref":"#/components/schemas/DataSourceExtendedInput"},{"type":"null"}],"title":"Auto Sync Enabled Sources","description":"List of data source types to enable auto sync for. Empty array will remove all sources \n and the string \"ALL\" will enable it for all data sources"},"max_files":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Files","description":"Custom file upload limit for the user over *all* user's files across all uploads. \n If set, then the user will not be allowed to upload more files than this limit. If not set, or if set to -1,\n then the user will have no limit."},"max_files_per_upload":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Files Per Upload","description":"Custom file upload limit for the user across a single upload.\n If set, then the user will not be allowed to upload more files than this limit in a single upload. If not set,\n or if set to -1, then the user will have no limit."},"max_characters":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Characters","description":"Custom character upload limit for the user over *all* user's files across all uploads. \n If set, then the user will not be allowed to upload more characters than this limit. If not set, or if set to -1,\n then the user will have no limit."},"max_characters_per_file":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Characters Per File","description":"A single file upload from the user can not exceed this character limit.\n If set, then the file will not be synced if it exceeds this limit. If not set, or if set to -1, then the \n user will have no limit."},"max_characters_per_upload":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Characters Per Upload","description":"Custom character upload limit for the user across a single upload.\n If set, then the user won't be able to sync more than this many characters in one upload. \n If not set, or if set to -1, then the user will have no limit."},"auto_sync_interval":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Auto Sync Interval","description":"The interval in hours at which the user's data sources should be synced. If not set or set to -1, \n the user will be synced at the organization level interval or default interval if that is also not set. \n Must be one of [3, 6, 12, 24]"},"customer_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Customer Ids","description":"List of organization supplied user IDs"}},"type":"object","required":["customer_ids"],"title":"UpdateUsersInput"},"UploadFileFromUrlInput":{"properties":{"url":{"type":"string","title":"Url"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size"},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap"},"skip_embedding_generation":{"type":"boolean","title":"Skip Embedding Generation","default":false},"set_page_as_boundary":{"type":"boolean","title":"Set Page As Boundary","default":false},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"generate_sparse_vectors":{"type":"boolean","title":"Generate Sparse Vectors","default":false},"use_textract":{"type":"boolean","title":"Use Textract","default":false},"prepend_filename_to_chunks":{"type":"boolean","title":"Prepend Filename To Chunks","default":false},"max_items_per_chunk":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Max Items Per Chunk","description":"Number of objects per chunk. For csv, tsv, xlsx, and json files only."},"parse_pdf_tables_with_ocr":{"type":"boolean","title":"Parse Pdf Tables With Ocr","default":false},"detect_audio_language":{"type":"boolean","title":"Detect Audio Language","default":false},"transcription_service":{"anyOf":[{"$ref":"#/components/schemas/TranscriptionService"},{"type":"null"}]},"include_speaker_labels":{"type":"boolean","title":"Include Speaker Labels","default":false},"media_type":{"anyOf":[{"$ref":"#/components/schemas/FileContentTypes"},{"type":"null"}]},"split_rows":{"type":"boolean","title":"Split Rows","default":false},"cold_storage_params":{"$ref":"#/components/schemas/ColdStorageProps","default":{"enable_cold_storage":false}},"generate_chunks_only":{"type":"boolean","title":"Generate Chunks Only","description":"If this flag is enabled, the file will be chunked and stored with Carbon,\n but no embeddings will be generated. This overrides the skip_embedding_generation flag.","default":false},"store_file_only":{"type":"boolean","title":"Store File Only","description":"If this flag is enabled, the file will be stored with Carbon, but no processing will be done.","default":false}},"type":"object","required":["url"],"title":"UploadFileFromUrlInput"},"User":{"properties":{"id":{"type":"integer","title":"Id"},"login":{"type":"string","title":"Login"}},"type":"object","required":["id","login"],"title":"User"},"UserConfiguration":{"properties":{"auto_sync_enabled_sources":{"anyOf":[{"items":{"$ref":"#/components/schemas/DataSourceType"},"type":"array"},{"$ref":"#/components/schemas/DataSourceExtendedInput"},{"type":"null"}],"title":"Auto Sync Enabled Sources","description":"List of data source types to enable auto sync for. Empty array will remove all sources \n and the string \"ALL\" will enable it for all data sources"},"max_files":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Files","description":"Custom file upload limit for the user over *all* user's files across all uploads. \n If set, then the user will not be allowed to upload more files than this limit. If not set, or if set to -1,\n then the user will have no limit."},"max_files_per_upload":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Files Per Upload","description":"Custom file upload limit for the user across a single upload.\n If set, then the user will not be allowed to upload more files than this limit in a single upload. If not set,\n or if set to -1, then the user will have no limit."},"max_characters":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Characters","description":"Custom character upload limit for the user over *all* user's files across all uploads. \n If set, then the user will not be allowed to upload more characters than this limit. If not set, or if set to -1,\n then the user will have no limit."},"max_characters_per_file":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Characters Per File","description":"A single file upload from the user can not exceed this character limit.\n If set, then the file will not be synced if it exceeds this limit. If not set, or if set to -1, then the \n user will have no limit."},"max_characters_per_upload":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Max Characters Per Upload","description":"Custom character upload limit for the user across a single upload.\n If set, then the user won't be able to sync more than this many characters in one upload. \n If not set, or if set to -1, then the user will have no limit."},"auto_sync_interval":{"anyOf":[{"type":"integer","minimum":-1.0},{"type":"null"}],"title":"Auto Sync Interval","description":"The interval in hours at which the user's data sources should be synced. If not set or set to -1, \n the user will be synced at the organization level interval or default interval if that is also not set. \n Must be one of [3, 6, 12, 24]"}},"type":"object","title":"UserConfiguration"},"UserFile":{"properties":{"id":{"type":"integer","title":"Id"},"source":{"$ref":"#/components/schemas/DataSourceType"},"organization_id":{"type":"integer","title":"Organization Id"},"organization_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Organization User Id"},"organization_supplied_user_id":{"type":"string","title":"Organization Supplied User Id"},"organization_user_data_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Organization User Data Source Id"},"external_file_id":{"type":"string","title":"External File Id"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"sync_status":{"$ref":"#/components/schemas/ExternalFileSyncStatuses"},"sync_error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sync Error Message"},"last_sync":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sync"},"tags":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Tags"},"file_statistics":{"anyOf":[{"$ref":"#/components/schemas/FileStatistics"},{"type":"null"}]},"file_metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"File Metadata"},"embedding_properties":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/EmbeddingProperties"},"type":"object"},{"type":"null"}],"title":"Embedding Properties"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size"},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap"},"chunk_properties":{"anyOf":[{"$ref":"#/components/schemas/ChunkProperties"},{"type":"null"}]},"ocr_properties":{"type":"object","title":"Ocr Properties","default":{}},"ocr_job_started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ocr Job Started At"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"enable_auto_sync":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Auto Sync"},"presigned_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presigned Url"},"parsed_text_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parsed Text Url"},"additional_presigned_urls":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Additional Presigned Urls"},"skip_embedding_generation":{"type":"boolean","title":"Skip Embedding Generation"},"source_created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Source Created At"},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"sync_properties":{"type":"object","title":"Sync Properties","default":{}},"messages_metadata":{"type":"object","title":"Messages Metadata","default":{}},"file_contents_deleted":{"type":"boolean","title":"File Contents Deleted","default":false},"supports_cold_storage":{"type":"boolean","title":"Supports Cold Storage"},"hot_storage_time_to_live":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hot Storage Time To Live"},"embedding_storage_status":{"$ref":"#/components/schemas/EmbeddingStorageStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","source","organization_id","organization_user_id","organization_supplied_user_id","external_file_id","sync_status","skip_embedding_generation","supports_cold_storage","embedding_storage_status","created_at","updated_at"],"title":"UserFile"},"UserFilesV2":{"properties":{"results":{"items":{"$ref":"#/components/schemas/UserFile"},"type":"array","title":"Results"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["results","count"],"title":"UserFilesV2"},"UserListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/ListUserResponse"},"type":"array","title":"Users"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"}},"type":"object","required":["users"],"title":"UserListResponse"},"UserRequestContent":{"properties":{"customer_id":{"type":"string","title":"Customer Id"}},"type":"object","required":["customer_id"],"title":"UserRequestContent"},"UserResponse":{"properties":{"id":{"type":"integer","title":"Id"},"organization_id":{"type":"integer","title":"Organization Id"},"organization_supplied_user_id":{"type":"string","title":"Organization Supplied User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"},"num_files_synced":{"type":"integer","title":"Num Files Synced"},"num_characters_synced":{"type":"integer","title":"Num Characters Synced"},"num_tokens_synced":{"type":"integer","title":"Num Tokens Synced"},"aggregate_file_size":{"type":"object","title":"Aggregate File Size"},"aggregate_num_characters":{"type":"object","title":"Aggregate Num Characters"},"aggregate_num_tokens":{"type":"object","title":"Aggregate Num Tokens"},"aggregate_num_embeddings":{"type":"object","title":"Aggregate Num Embeddings"},"aggregate_num_files_by_source":{"type":"object","title":"Aggregate Num Files By Source"},"aggregate_num_files_by_file_format":{"type":"object","title":"Aggregate Num Files By File Format"},"unique_file_tags":{"items":{"type":"object"},"type":"array","title":"Unique File Tags"},"enabled_features":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Enabled Features"},"custom_limits":{"type":"object","title":"Custom Limits","default":{}},"auto_sync_enabled_sources":{"items":{},"type":"array","title":"Auto Sync Enabled Sources","default":[]},"connector_settings":{"type":"object","title":"Connector Settings","default":{}}},"type":"object","required":["id","organization_id","organization_supplied_user_id","created_at","updated_at","deleted_at","num_files_synced","num_characters_synced","num_tokens_synced","aggregate_file_size","aggregate_num_characters","aggregate_num_tokens","aggregate_num_embeddings","aggregate_num_files_by_source","aggregate_num_files_by_file_format","unique_file_tags","enabled_features"],"title":"UserResponse"},"UserWebPageOrderByTypes":{"type":"string","enum":["created_at","updated_at","id"],"title":"UserWebPageOrderByTypes"},"UserWebPagesFilters":{"properties":{"ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ids"}},"type":"object","title":"UserWebPagesFilters"},"UserWebPagesRequest":{"properties":{"filters":{"$ref":"#/components/schemas/UserWebPagesFilters","default":{}},"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/UserWebPageOrderByTypes","default":"updated_at"},"order_dir":{"$ref":"#/components/schemas/OrderDirV2","default":"desc"}},"type":"object","title":"UserWebPagesRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Webhook":{"properties":{"id":{"type":"integer","title":"Id"},"organization_id":{"type":"integer","title":"Organization Id"},"url":{"type":"string","title":"Url"},"signing_key":{"type":"string","title":"Signing Key"},"status":{"$ref":"#/components/schemas/WebhookStatus"},"status_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Reason"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","organization_id","url","signing_key","status","created_at","updated_at"],"title":"Webhook"},"WebhookFilters":{"properties":{"ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ids","default":[]}},"type":"object","title":"WebhookFilters"},"WebhookNoKey":{"properties":{"id":{"type":"integer","title":"Id"},"organization_id":{"type":"integer","title":"Organization Id"},"url":{"type":"string","title":"Url"},"status":{"$ref":"#/components/schemas/WebhookStatus"},"status_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Reason"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","organization_id","url","status","created_at","updated_at"],"title":"WebhookNoKey"},"WebhookOrderByColumns":{"type":"string","enum":["created_at","updated_at"],"title":"WebhookOrderByColumns"},"WebhookQueryInput":{"properties":{"pagination":{"$ref":"#/components/schemas/Pagination","default":{"limit":10,"offset":0,"starting_id":0}},"order_by":{"$ref":"#/components/schemas/WebhookOrderByColumns","default":"updated_at"},"order_dir":{"$ref":"#/components/schemas/OrderDir","default":"asc"},"filters":{"$ref":"#/components/schemas/WebhookFilters","default":{"ids":[]}}},"type":"object","title":"WebhookQueryInput"},"WebhookQueryResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/WebhookNoKey"},"type":"array","title":"Results"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["results","count"],"title":"WebhookQueryResponse"},"WebhookStatus":{"type":"string","enum":["ACTIVE","FLAGGED"],"title":"WebhookStatus"},"WebscrapeRequest":{"properties":{"url":{"type":"string","title":"Url"},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"items":{"type":"integer"},"type":"array"},{"items":{"type":"boolean"},"type":"array"}]},"type":"object"},{"type":"null"}],"title":"Tags","default":{}},"recursion_depth":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Recursion Depth","default":3},"max_pages_to_scrape":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Pages To Scrape","default":100},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size","default":1500},"chunk_overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Overlap","default":20},"skip_embedding_generation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Embedding Generation","default":false},"enable_auto_sync":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Auto Sync","default":false},"generate_sparse_vectors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Generate Sparse Vectors","default":false},"prepend_filename_to_chunks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Prepend Filename To Chunks","default":false},"html_tags_to_skip":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Html Tags To Skip","default":[]},"css_classes_to_skip":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Css Classes To Skip","default":[]},"css_selectors_to_skip":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Css Selectors To Skip","default":[]},"embedding_model":{"$ref":"#/components/schemas/EmbeddingGenerators","default":"OPENAI"},"url_paths_to_include":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":10},{"type":"null"}],"title":"Url Paths To Include","description":"URL subpaths or directories that you want to include. For example if you want to only include\n URLs that start with /questions in stackoverflow.com, you will add /questions/ in this input","default":[]},"download_css_and_media":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Download Css And Media","description":"Whether the scraper should download css and media from the page (images, fonts, etc). Scrapes \n might take longer to finish with this flag enabled, but the success rate is improved.","default":false},"generate_chunks_only":{"type":"boolean","title":"Generate Chunks Only","description":"If this flag is enabled, the file will be chunked and stored with Carbon,\n but no embeddings will be generated. This overrides the skip_embedding_generation flag.","default":false},"store_file_only":{"type":"boolean","title":"Store File Only","description":"If this flag is enabled, the file will be stored with Carbon, but no processing will be done.","default":false},"use_premium_proxies":{"type":"boolean","title":"Use Premium Proxies","description":"If the default proxies are blocked and not returning results, this flag can be enabled to use \n alternate proxies (residential and office). Scrapes might take longer to finish with this flag enabled.\n ","default":false}},"type":"object","required":["url"],"title":"WebscrapeRequest"},"WhiteLabelFilters":{"properties":{"ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ids","default":[]},"data_source_type":{"anyOf":[{"items":{"$ref":"#/components/schemas/OauthBasedConnectors"},"type":"array"},{"type":"null"}],"title":"Data Source Type","default":[]}},"type":"object","title":"WhiteLabelFilters"},"WhiteLabelInput":{"properties":{"data_source_type":{"type":"string","enum":["INTERCOM","NOTION","SLACK","ZENDESK","OUTLOOK","GMAIL","SERVICENOW","SALESFORCE","ZOTERO","BOX","CONFLUENCE","DROPBOX","GOOGLE_CLOUD_STORAGE","GONG"],"title":"Data Source Type"},"credentials":{"$ref":"#/components/schemas/Credentials"}},"type":"object","required":["data_source_type","credentials"],"title":"WhiteLabelInput"},"WhiteLabelOrderByColumns":{"type":"string","enum":["created_at","data_source_type"],"title":"WhiteLabelOrderByColumns"},"WhiteLabelingResponse":{"properties":{"remove_branding":{"type":"boolean","title":"Remove Branding"},"integrations":{"type":"object","title":"Integrations"},"custom_limits":{"type":"object","title":"Custom Limits"},"connector_settings":{"type":"object","title":"Connector Settings","default":{}}},"type":"object","required":["remove_branding","integrations","custom_limits"],"title":"WhiteLabelingResponse"},"YoutubeTranscriptResponse":{"properties":{"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"data":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data"},"raw_transcript":{"anyOf":[{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"}]},"type":"object"},"type":"array"},{"type":"null"}],"title":"Raw Transcript"}},"type":"object","required":["status"],"title":"YoutubeTranscriptResponse"},"ZendeskAuthentication":{"properties":{"source":{"type":"string","enum":["ZENDESK"],"const":"ZENDESK","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"subdomain":{"type":"string","title":"Subdomain"}},"type":"object","required":["source","access_token","subdomain"],"title":"ZendeskAuthentication"},"ZendeskFileTypes":{"type":"string","enum":["TICKET","ARTICLE","TICKET_ATTACHMENT","SECTION","CATEGORY"],"title":"ZendeskFileTypes"},"ZoteroAuthentication":{"properties":{"source":{"type":"string","enum":["ZOTERO"],"const":"ZOTERO","title":"Source"},"access_token":{"type":"string","title":"Access Token"},"access_token_secret":{"type":"string","title":"Access Token Secret"},"username":{"type":"string","title":"Username"},"zotero_id":{"type":"string","title":"Zotero Id"}},"type":"object","required":["source","access_token","access_token_secret","username","zotero_id"],"title":"ZoteroAuthentication"},"SentWebhookRequestBody":{"properties":{"payload":{"type":"string"}}},"SentWebhookPayload":{"properties":{"webhook_type":{"type":"string","enum":["ADD","ALL_FILES_PROCESSED","ALL_UPLOADED_FILES_QUEUED","CANCEL","CHECKUP","DATA_SOURCE_READY","EMBEDDING_STORAGE_MODIFIED","FILES_CREATED","FILES_SKIPPED","FILE_DELETED","FILE_ERROR","FILE_READY","FILE_STATISTICS_AGGREGATED","FILE_SYNCING","FILE_SYNC_LIMIT_REACHED","MOVED_TO_COLD_STORAGE","MOVED_TO_HOT_STORAGE","ORGANIZATION_USER_DELETED","RATE_LIMIT_ERROR","REVOKE","SPARSE_VECTOR_QUEUE_STATUS","UPDATE","WEBPAGE_ERROR","WEBPAGE_READY","WEBSCRAPE_URLS_READY"]},"customer_id":{"type":"string"},"timestamp":{"type":"string"},"object":{"type":"object","properties":{"object_type":{"type":"string","enum":["CHUNK_LIST","DATA_SOURCE","FILE","FILE_LIST","NONE","ORGANIZATION_USER","UPLOAD_REQUEST_ID","WEBPAGE"]},"object_id":{"oneOf":[{"type":"string"},{"type":"integer"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer"}},{"type":"null"}]},"additional_information":{"oneOf":[{"type":"object"},{"type":"string"},{"type":"null"}]}}}}}},"securitySchemes":{"apiKey":{"type":"apiKey","description":"`Bearer <token>`, corresponds to API keys.","in":"header","name":"authorization","x-konfig-prefix":"Bearer "},"customerId":{"type":"apiKey","description":"Unique ID for user on whose behalf this request is being made. Every user should have one and only one ID. This ID is generated by you, the organization, and not Carbon. Examples include, but are not limited to, a user's email, a user's internal ID, a randomly generated UUID, etc. Carbon partitions user data by this ID.","in":"header","name":"customer-id"},"accessToken":{"type":"apiKey","description":"`token <token>`, corresponds to temporary access tokens.","in":"header","name":"authorization","x-konfig-prefix":"Token "}}},"tags":[{"name":"Getting Started","description":"\n---\n\n![](http://cdn.mcauto-images-production.sendgrid.net/3b277c940596d872/33ed03b3-3f38-485c-a51c-8925f14a7441/1780x1252.png)\n\n## What is Carbon?\n\nCarbon provides a comprehensive framework designed to streamline the process of connecting external data sources to Large Language Models (LLMs). \n\nThe Carbon search model is purpose-built for Large Language Models (LLMs) because of its fully neural architecture, enabling natural language querying across indexed documents from external data sources. In cases where vector (or neural) search isn't optimal, Carbon also supports keyword-based searches.\n\nCarbon simplifies the process of **retrieval augmented generation** (RAG), allowing you to spend more time using your data, and less time trying to ingest it.\n\n## How Carbon Works\n\nUse **[Carbon Connect](https://api.carbon.ai/redoc#tag/Carbon-Connect)** to connect to your users' data sources and then our **Universal API** to retrieve the data to use with LLMs. Carbon has native integrations with 10+ data sources and supports more than 20+ file formats, encompassing text, audio, and visual data.\n\nDepending on your use case and in-house infrastructure, you can retrieve user data from Carbon in several formats: \n\n- Parsed plaintext files\n- Embeddings (and chunks) to store in your vector store\n- Direct semantic and keyword search against Carbon's managed vector database\n\n## Products\n\n### 🔗 Connect\n\nA client-side component for users to connect data sources such as Notion, Google Drive, Dropbox, OneDrive, websites, and file uploads. Available as a React component, JavaScript SDK, and soon as a magic link. \n\nCarbon handles OAuth flows for 10+ sources, transforms the source data, and automates data synchronization.\n\n### 🗄️ Store\n\nChoose between Carbon's managed vector database (hosted on Qdrant Cloud) or your storage solution. The database updates as users modify connected sources and manage chunks alongside embeddings.\n\n### 🔌 Universal API\n\nAccess and manage data (documents, chunks, vectors, etc.) from any source using our flexible API suite. Apply custom metadata filters to objects for tailored data retrieval.\n\n## Setup\n\n---\n\n### 🔑 Getting a Carbon API Key\n\nCarbon is free to use up to the first 20 million characters. \nBook a 15 minute onboarding to get an API key [here](https://cal.com/carbon-ai/15min).\n\n### 🔗 Helpful Links\nTo get started with Carbon, follow our guides:\n\n- [Installing Carbon Connect](https://api.carbon.ai/redoc#tag/Carbon-Connect)\n- [Integrating Data Sources](https://api.carbon.ai/redoc#tag/Data-Sources)\n\n"},{"name":"Carbon Connect","description":"\n\n---\n\nUse Connect to connect to your users' accounts with the Carbon API.\n\nCarbon Connect is the client-side component that your users will interact with in order upload their content to Carbon and grant you access via the Carbon API.\n\nCarbon Connect handles credential validation, content upload, and success/error handling for each connector that Carbon supports. We support 10+ integrations (Google Drive, Notion, etc), local file uploads (images, audio and text), and public webpages.\n\nCarbon is currently supported via a Javascript SDK, as well as via React Native and mobile webviews.\n\n![](http://cdn.mcauto-images-production.sendgrid.net/3b277c940596d872/17a00fb4-f6d8-49fd-86e1-1a82dd8e64f1/680x1089.gif)\n\n# Javascript SDK\n\n---\n\nCarbon Connect JS is a vanilla JS wrapper and a headless offering to integrate Carbon API into your product.\n\nYou can reference this example repo showcasing our JS SDK [here](https://github.com/hubbleai/sdk-example).\n\n## Installation\n\n---\n\nUse the package manager [npm](https://www.npmjs.com/) to install carbon-connect-js.\n\n```bash\nnpm install carbon-connect-js\n```\n\n## Usage\n\n---\n\n```javascript\nimport * as Carbon from 'carbon-connect-js';\n\n// Note: Access token generation should happen prior to other function calls!\n\n// Generate Access Token\nconst accessTokenResponse = await Carbon.generateAccessToken(\n 'api_key',\n 'customer_id'\n);\nconsole.log(accessTokenResponse.data.access_token);\n\n// Get White Label data\nconst whiteLabelResponse = Carbon.getWhiteLabelData('ACCESS_TOKEN');\nconsole.log(whiteLabelResponse.data);\n```\n\n## Methods\n\n---\n\n### 1. generateAccessToken()\n\n- **Description**: This method is used to generate an access token required for authentication. The access token will be valid for 10 hours.\n\n- **Parameters**: The `generateAccessToken()` method accepts an object with the following properties:\n\n - `apiKey` (string): Your API key.\n - `customerId` (string): The customer's unique ID.\n\n- **Returns**: A promise that resolves to an `AccessTokenResponse` object:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data containing the access token, if the request was successful. Otherwise, null.\n - `error` (string or null): Error message if there was an issue generating the token. Otherwise, null.\n\n- **Usage**: Here's how you can use the `generateAccessToken()` method\n\n ```javascript\n const Carbon = require('carbon-connect-js');\n\n async function fetchAccessToken() {\n try {\n const response = await Carbon.generateAccessToken({\n apiKey: 'your_api_key',\n customerId: 'your_customer_id',\n });\n\n if (response.status === 200) {\n console.log('Access token:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error:', err);\n }\n }\n\n fetchAccessToken();\n ```\n\n- **Note** : It is ideal to call this method from your backend code and return it to your frontend. This is to avoid exposing your API key to the frontend.\n\n### 2. getWhiteLabelData()\n\n- **Description**: This method retrieves the white label data of the organization, which can be useful for custom branding and theming.\n- **Parameters**: The `getWhiteLabelData()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained from the authentication process.\n\n- **Returns**: A promise that resolves to an `WhiteLabelDataResponse` object:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object): The response data containing details of the white label settings.\n\n- **Usage**: Here's how you can use the `getWhiteLabelData()` method\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function fetchWhiteLabelDetails() {\n try {\n const response = await Carbon.getWhiteLabelData({\n accessToken: 'ACCESS_TOKEN',\n });\n\n if (response.status === 200) {\n console.log('White Label Data:', response.data);\n } else {\n console.error(\n 'Failed to fetch white label data. Status:',\n response.status\n );\n }\n } catch (err) {\n console.error('Unexpected error:', err.message);\n }\n }\n\n // Call the function to fetch the data.\n fetchWhiteLabelDetails();\n ```\n\n### 3. getUserConnections()\n\n- **Description**: Retrieve all the active integrations or connections associated with a user.\n- **Parameters**: The `getUserConnections()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained from the authentication process.\n\n- **Returns**: A promise that resolves to a `UserConnectionsResponse` object:\n\n - `status` (number): The HTTP status code of the response.\n - `connections` (array): List of active integrations or connections associated with the user.\n - `error` (object or null): Contains error details if any issues arise while fetching user connections.\n\n- **Usage**:\n\n```javascript\nimport * as Carbon from 'carbon-connect-js';\n\nasync function fetchUserIntegrations() {\n try {\n const response = await Carbon.getUserConnections({\n accessToken: 'ACCESS_TOKEN',\n });\n\n if (response.status === 200) {\n console.log('User Connections:', response.connections);\n } else {\n console.error('Error:', response.error.message);\n }\n } catch (err) {\n console.error('Unexpected error:', err.message);\n }\n}\n\n// Initiate the call to fetch user integrations.\nfetchUserIntegrations();\n```\n\n### 4. generateOauthurl()\n\n- **Description**: Generate an OAuth URL to facilitate users in connecting a third-party account.\n\n- **Parameters**: The `generateOauthurl()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `integrationName` (string): Name of the third-party service you want to integrate.\n - `chunkSize` (number, optional): Defines the chunk size. Defaults to 1500.\n - `chunkOverlap` (number, optional): Defines the chunk overlap. Defaults to 20.\n - `skipEmbeddingGeneration` (boolean, optional): If set to true, embedding generation will be skipped. Defaults to false.\n - `tags` (object, optional): Tags that can be passed for additional information. Defaults to an empty object.\n\n- **Returns**: A promise that resolves to a `GenerateOAuthURLResponse` object:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object): Contains details like the generated OAuth URL, integration name, chunk size, chunk overlap, and other specified parameters.\n - `error` (string or null): Contains error message if there's any issue generating the OAuth URL.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function generateIntegrationOAuthURL() {\n try {\n const response = await Carbon.generateOauthurl({\n accessToken: 'YOUR_ACCESS_TOKEN',\n integrationName: 'SERVICE_NAME',\n // Accepted values are: NOTION, GOOGLE_DRIVE, ONEDRIVE, INTERCOM, DROPBOX, ZENDESK, BOX\n });\n\n if (response.status === 200) {\n console.log('Generated OAuth URL:', response.data.oauth_url);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error:', err.message);\n }\n }\n\n generateIntegrationOAuthURL();\n ```\n\n### 5. uploadFiles()\n\n- **Description**: Upload one or multiple files to Carbon, with options to control chunk size, chunk overlap, and embedding generation.\n\n- **Parameters**: The `uploadFiles()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `files` (Array<File>): An array of files you want to upload.\n - `chunkSize` (number, optional): Defines the chunk size. Defaults to 1500.\n - `chunkOverlap` (number, optional): Defines the chunk overlap. Defaults to 20.\n - `skipEmbeddingGeneration` (boolean, optional): If set to true, embedding generation will be skipped. Defaults to false.\n\n- **Returns**: A promise that resolves to an UploadFilesResponse object:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object): Contains details of the uploaded files, including count and array of successful uploads.\n - `error` (object or null): Contains error details if there's an issue during file upload.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function uploadFilesToPlatform() {\n try {\n const response = await Carbon.uploadFilesToCarbon({\n accessToken: 'YOUR_ACCESS_TOKEN',\n files: filesToUploadArray,\n // You can also specify other parameters here if needed.\n });\n\n if (response.status === 200) {\n console.log('Uploaded Files:', response.data.successfulUploads);\n if (response.error) {\n console.warn('Failed Uploads:', response.error.failedUploads);\n }\n } else {\n console.error('Error:', response.error.message);\n }\n } catch (err) {\n console.error('Unexpected error:', err.message);\n }\n }\n\n uploadFilesToPlatform();\n ```\n\n### 6. updateTags()\n\n- **Description**: Updates or appends tags to a specified file in Carbon.\n\n- **Parameters**:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `fileId` (int): The ID of the file you want to update tags for.\n - `tags` (object): The tags you want to add or update for the specified file.\n\n- **Returns**: A promise that resolves to an `UpdateTagsResponse` object:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object): Contains details of the updated file, including the file ID and updated tags.\n - `error` (object or null): Contains error details if there's an issue updating the tags.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function updateFileTags() {\n const fileId = 'YOUR_FILE_ID'; // Replace with your actual file ID\n const tagsToUpdate = {\n category: 'document',\n type: 'pdf',\n // ... add more tags as needed\n };\n\n try {\n const response = await Carbon.updateTags({\n accessToken: 'YOUR_ACCESS_TOKEN',\n fileId: fileId,\n tags: tagsToUpdate,\n });\n\n if (response.status === 200) {\n console.log('Updated Tags:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error:', err.message);\n }\n }\n\n updateFileTags();\n ```\n\n### 7. processSitemapUrl()\n\n- **Description**: Fetches and processes the URLs present in a specified sitemap.\n\n- **Parameters**: The `processSitemapUrl()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `sitemapUrl` (string): The URL of the sitemap to be fetched.\n\n- **Returns**: A promise that resolves to a `ProcessSitemapUrlResponse` object:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object): Contains details of the fetched URLs.\n - `urls` (array): An array of URLs retrieved from the sitemap.\n - `count` (number): Total number of URLs retrieved from the sitemap.\n - `error` (string or null): Error message if there's an issue fetching the sitemap.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function fetchSitemapUrls() {\n const sitemap = 'YOUR_SITEMAP_URL'; // Replace with your actual sitemap URL\n\n try {\n const response = await Carbon.handleFetchSitemapUrls({\n accessToken: 'ACCESS_TOKEN',\n sitemapUrl: sitemap,\n });\n\n if (response.status === 200) {\n console.log('Retrieved URLs:', response.data.urls);\n console.log('Total URLs:', response.data.count);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error:', err.message);\n }\n }\n\n fetchSitemapUrls();\n ```\n\n### 8. submitScrapeRequest()\n\n- **Description**: Initiates a scraping request for specified URLs. This function supports batch scraping and can take multiple URLs in a single request.\n\n- **Parameters**: The `submitScrapeRequest()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `urls` (array of strings): An array of URLs you want to scrape.\n - `tags` (object, optional): Tags associated with the scraping request. Defaults to an empty object.\n - `recursionDepth` (number, optional): Specifies the depth of scraping for linked pages. Defaults to 1.\n - `maxPagesToScrape` (number, optional): Maximum number of pages to scrape per URL. Defaults to 1.\n - `chunkSize` (number, optional): Size of data chunks. Defaults to 1500.\n - `chunkOverlap` (number, optional): Overlapping size between chunks. Defaults to 20.\n - `skipEmbeddingGeneration` (boolean, optional): Indicates whether to skip embedding generation during scraping. Defaults to false.\n\n- **Returns**: A promise that resolves to a `SubmitScrapeRequestResponse` object:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object): Contains details of the scraping response.\n - `files` (array): An array of objects, each representing a file resulting from the scraping process.\n - `error` (string or null): Error message if there's an issue initiating the scraping.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function initiateScraping() {\n const urlsToScrape = ['URL_1', 'URL_2']; // Replace with your actual URLs\n\n try {\n const response = await Carbon.submitScrapeRequest({\n accessToken: 'YOUR_ACCESS_TOKEN',\n urls: urlsToScrape,\n recursionDepth: 2,\n maxPagesToScrape: 5,\n });\n\n if (response.status === 200) {\n console.log('Scraping result:', response.data.files);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error:', err.message);\n }\n }\n\n initiateScraping();\n ```\n\n### 9. getCarbonHealth()\n\n- **Description**: This function retrieves the health status of the Carbon service.\n\n- **Parameters**: The `getCarbonHealth()` method does not require any parameters.\n\n- **Returns**: A promise that resolves to a `getCarbonHealthResponse` object:\n\n - status (number): An HTTP status code indicating the health status. A status code of 200 indicates that the service is in a healthy state.\n\n- **Usage**: Below is an example of how to utilize the `getCarbonHealth()` method\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function fetchCarbonHealth() {\n try {\n const response = await Carbon.getCarbonHealth();\n\n if (response.status === 200) {\n console.log('Carbon service is healthy.');\n } else {\n console.error(\n 'Carbon service is currently unavailable:',\n response.status\n );\n }\n } catch (err) {\n console.error(\n 'Unexpected error while checking Carbon health:',\n err.message\n );\n }\n }\n\n fetchCarbonHealth();\n ```\n\n### 10. uploadFileFromUrl()\n\n- **Description**: This function allows you to upload a file to the Carbon service by fetching it from a specified URL.\n\n- **Parameters**: The `uploadFileFromUrl()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `url` (string): The URL from which the file should be retrieved and uploaded.\n - `fileName` (string, optional): A custom name for the file. If not specified, the original filename from the URL will be used.\n - `chunkSize` (number, optional): The size of data chunks during the upload process. Default is set to 1500.\n - `chunkOverlap` (number, optional): The overlap size between chunks. Default is set to 20.\n - `skipEmbeddingGeneration` (boolean, optional): Indicates whether to skip embedding generation during the upload. Default is set to false.\n\n- **Returns**: A promise that resolves to an `UploadFileFromUrlResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): Contains details of the uploaded file.\n - `file` (object): Represents the uploaded file and all its properties.\n - `error` (string or null): An error message, if there's an issue with the upload.\n\n- **Usage**: Below is an example of how to use the `uploadFileFromUrl()` method\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function uploadFromUrl() {\n const fileUrl = 'URL_TO_THE_FILE'; // Replace with the actual URL\n\n try {\n const response = await Carbon.uploadFileFromUrl({\n accessToken: 'YOUR_ACCESS_TOKEN',\n url: fileUrl,\n fileName: 'custom_file_name.ext',\n });\n\n if (response.status === 200) {\n console.log('Uploaded file details:', response.data.file);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during upload:', err.message);\n }\n }\n\n uploadFromUrl();\n ```\n\n### 11. uploadText()\n\n- **Description**: This function enables the uploading of textual content to the Carbon service.\n\n- **Parameters**: The `uploadText()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `contents` (string): The text content you wish to upload.\n - `fileName` (string, optional): A custom name for the file. If not specified, a random name will be used.\n - `chunkSize` (number, optional): The size of data chunks during the upload process. The default value is 1500.\n - `chunkOverlap` (number, optional): The overlapping size between chunks. The default value is 20.\n - `skipEmbeddingGeneration` (boolean, optional): An indicator of whether to skip embedding generation during the upload. The default is set to false.\n - `overWriteFileId` (number or null, optional): If provided, the uploaded content will overwrite an existing file with the specified ID.\n\n- **Returns**: A promise that resolves to an `UploadTextResponse` object containing the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): Contains details of the uploaded file.\n - `file` (object): Represents the uploaded file along with its properties.\n - `error` (string or null): An error message in case of an issue during the upload.\n\n- **Usage**: Below is an example of how to utilize the `uploadText()` method\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function uploadCustomText() {\n const textContent = 'This is a sample text content for upload.';\n\n try {\n const response = await Carbon.uploadText({\n accessToken: 'YOUR_ACCESS_TOKEN',\n contents: textContent,\n fileName: 'sample_text.txt',\n });\n\n if (response.status === 200) {\n console.log('Uploaded file details:', response.data.file);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during upload:', err.message);\n }\n }\n\n uploadCustomText();\n ```\n\n### 12. deleteFile()\n\n- **Description**: This function allows for the removal of a specified file from the Carbon service.\n\n- **Parameters**: The `deleteFile()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `fileId` (string): The ID of the file you intend to delete.\n\n- **Returns**: A promise that resolves to an `DeleteFileResponse` object containing the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): Contains details of the deleted file or any additional response data.\n - `error` (string or null): An error message in case there is an issue with the file deletion.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function removeFile() {\n const targetFileId = 'YOUR_FILE_ID_HERE';\n\n try {\n const response = await Carbon.deleteFile({\n accessToken: 'YOUR_ACCESS_TOKEN',\n fileId: targetFileId,\n });\n\n if (response.status === 200) {\n console.log('File successfully deleted:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during file deletion:', err.message);\n }\n }\n\n removeFile();\n ```\n\n### 13. resyncFile()\n\n- **Description**: This function triggers a resynchronization of a specified file with the Carbon service. This can be valuable in scenarios where a file's internal data changes or if there are discrepancies in the data on the server.\n\n- **Parameters**: The `resyncFile()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `fileId` (string): The ID of the file you wish to resynchronize.\n - `chunkSize` (number, optional, default 1500): Specifies the chunk size when processing the file.\n - `chunkOverlap` (number, optional, default 20): Specifies the overlap size between each chunk.\n\n- **Returns**: A promise that resolves to an `ResyncFileResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data, containing the access token if the request was successful; otherwise, it is null.\n - `error` (string or null): An error message if there was an issue generating the token, otherwise null.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function resynchronizeFile() {\n const targetFileId = 'YOUR_FILE_ID_HERE';\n\n try {\n const response = await Carbon.resyncFile({\n accessToken: 'YOUR_ACCESS_TOKEN',\n fileId: targetFileId,\n chunkSize: 1600, // Optional. Default is 1500.\n chunkOverlap: 25, // Optional. Default is 20.\n });\n\n if (response.status === 200) {\n console.log('File successfully resynced:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during file resync:', err.message);\n }\n }\n\n resynchronizeFile();\n ```\n\n### 14. getRawFilePresignedUrl()\n\n- **Description**: This function retrieves a presigned URL that can be utilized to directly access the unprocessed content of a file stored within the Carbon service.\n\n- **Parameters**: The `getRawFilePresignedUrl()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `fileId` (string): The ID of the file for which you seek to obtain the presigned URL.\n\n- **Returns**: A promise that resolves to an `GetRawFilePresignedUrlResponse` object comprising the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null):\n - `presigned_url` (string): The presigned URL that can be used to access the raw file content.\n - `error` (string or null): An error message if there is an issue with fetching the presigned URL.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function fetchPresignedUrl() {\n const targetFileId = 'YOUR_FILE_ID_HERE';\n\n try {\n const response = await Carbon.getRawFilePresignedUrl({\n accessToken: 'YOUR_ACCESS_TOKEN',\n fileId: targetFileId,\n });\n\n if (response.status === 200) {\n console.log('Presigned URL:', response.data.presigned_url);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error fetching presigned URL:', err.message);\n }\n }\n\n fetchPresignedUrl();\n ```\n\n### 15. getParsedFilePresignedUrl()\n\n- **Description**: This function retrieves a presigned URL that can be employed to directly access the parsed content of a file stored within the Carbon service.\n\n- **Parameters**: The `getParsedFilePresignedUrl()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `fileId` (string): The ID of the file for which you desire the presigned URL.\n\n- **Returns**: A promise that resolves to an `GetParsedFilePresignedUrlResponse` object containing the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null):\n - `presigned_url` (string): The presigned URL that enables access to the parsed file content.\n - `error` (string or null): An error message in the event of any issues with obtaining the presigned URL.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function fetchParsedPresignedUrl() {\n const targetFileId = 'YOUR_FILE_ID_HERE';\n\n try {\n const response = await Carbon.getParsedFilePresignedUrl({\n accessToken: 'YOUR_ACCESS_TOKEN',\n fileId: targetFileId,\n });\n\n if (response.status === 200) {\n console.log(\n 'Presigned URL for parsed content:',\n response.data.presigned_url\n );\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error(\n 'Unexpected error fetching presigned URL for parsed content:',\n err.message\n );\n }\n }\n\n fetchParsedPresignedUrl();\n ```\n\n### 16. getUserFiles()\n\n- **Description**: This function retrieves a list of user files from the Carbon service based on specified filters.\n\n- **Parameters**: The `getUserFiles()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `limit` (number, optional, default = 10): The maximum number of files to be returned.\n - `offset` (number, optional, default = 0): The starting point from which to fetch files.\n - `order_by` (string, optional, default = 'updated_at'): The attribute by which the returned files are ordered.\n - `order_dir` (string, optional, default = 'asc'):The direction in which the files are ordered. Options are 'asc' or 'desc'.\n - `filters` (Record<string, any>, optional, default = {}): An object of filters to apply to the file list query.\n - `include_raw_file` (boolean, optional, default = false): If set to true, includes the presigned URL for the raw file in the response.\n - `include_parsed_file` (boolean, optional, default = false): If set to true, includes the presigned URL for the parsed file in the response.\n\n- **Returns**: A promise that resolves to an `GetUserFilesResponse` object with the following properties:\n\n - status (number): The HTTP status code of the response.\n - data (object or null):\n - files (any[]): An array of user file data objects.\n - error (string or null): An error message if there are issues with fetching user files.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function fetchUserFiles() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n limit: 5,\n order_by: 'created_at',\n order_dir: 'desc',\n };\n\n try {\n const response = await Carbon.getUserFiles(params);\n\n if (response.status === 200) {\n console.log('Fetched user files:', response.data.files);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error fetching user files:', err.message);\n }\n }\n\n fetchUserFiles();\n ```\n\n### 17. deleteTags()\n\n- **Description**: This function removes specified tags from a user file within the given organization. The method sends a request to the Carbon service to delete the provided tags from the file associated with the `organizationUserFileId`.\n\n- **Parameters**: The `deleteTags()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `organizationUserFileId` (number): The unique identifier of the user file within the organization.\n - `tags` (string[]): An array of tag names to be deleted from the user file.\n\n- **Returns**: A promise that resolves to an `DeleteTagsResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data received from the Carbon service after the tags have been deleted.\n - `error` (string or null): An error message in case there are issues with the deletion of tags from the user file.\n\n- **Usage**: Below is an example of how to use the `generateAccessToken()` method\n\n ```javascript\n const Carbon = require('carbon-connect-js');\n\n async function fetchAccessToken() {\n try {\n const response = await Carbon.generateAccessToken({\n apiKey: 'your_api_key',\n customerId: 'your_customer_id',\n });\n\n if (response.status === 200) {\n console.log('Access token:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error:', err);\n }\n }\n\n fetchAccessToken();\n ```\n\n### 18. fetchUrls()\n\n- **Description**: This method retrieves all URLs from a specified web page. It initiates a GET request to the Carbon service with the target URL as a parameter. The Carbon service will then access the content of the specified web page and parse it to extract all the URLs.\n\n- **Parameters**: The `fetchUrls()` method requires an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `url` (string): The URL of the web page from which the links should be fetched.\n\n- **Returns**: A promise that resolves to an `AccessTokenResponse` object comprising the following properties:\n\n - status (number): The HTTP status code of the response.\n - data (object or null): The response data object containing the extracted URLs and potentially the raw HTML content.\n - urls (string[]): A list of URLs extracted from the web page.\n - html_content (string or null): The raw HTML content of the fetched web page (if provided by the Carbon service).\n - error (string or null): An error message in case there are issues with fetching the URLs.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function retrieveUrls() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n url: 'https://www.example.com', // replace with actual URL\n };\n\n try {\n const response = await Carbon.fetchUrls(params);\n\n if (response.status === 200) {\n console.log('Fetched URLs successfully:', response.data.urls);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error fetching URLs:', err.message);\n }\n }\n\n retrieveUrls();\n ```\n\n### 19. searchUrls()\n\n- **Description**: This method conducts a search for URLs based on the provided query string.\n\n As an illustration, when you perform a search for “content related to MRNA,” you will receive a list of links such as the following:\n\n - https://tomrenz.substack.com/p/mrna-and-why-it-matters\n - https://www.statnews.com/2020/11/10/the-story-of-mrna-how-a-once-dismissed-idea-became-a-leading-technology-in-the-covid-vaccine-race/\n - https://www.statnews.com/2022/11/16/covid-19-vaccines-were-a-success-but-mrna-still-has-a-delivery-problem/\n - https://joomi.substack.com/p/were-still-being-misled-about-how\n\n Subsequently, you can submit these links to the `web_scrape` endpoint in order to retrieve the content of the respective web pages.\n\n- **Parameters**: The `searchUrls()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `query` (string): The search term or query for which URLs are to be discovered.\n\n- **Returns**: A promise that resolves to an `SearchUrlsForQueryResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data object containing the discovered URLs.\n - `urls` (string[]): A list of URLs associated with the search query.\n - `html_content` (null): A null value is returned.\n - `error` (string or null): An error message if there are any issues with the URL search.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function retrieveSearchResults() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n query: 'example search term', // replace with actual query\n };\n\n try {\n const response = await Carbon.searchUrls(params);\n\n if (response.status === 200) {\n console.log('Search results:', response.data.urls);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during search:', err.message);\n }\n }\n\n retrieveSearchResults();\n ```\n\n### 20. fetchYoutubeTranscript()\n\n- **Description**: This method retrieves the transcript for a specific YouTube video.\n\n **Example:** In the URL https://www.youtube.com/watch?v=_Nq2m5LRQ3g&t=1080s, the video id is `_Nq2m5LRQ3`\n\n- **Parameters**: The `fetchYoutubeTranscript()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `videoId` (string): The unique identifier of the YouTube video.\n - `raw` (boolean, optional): A flag indicating whether to fetch the raw transcript (default is false, indicating that only the processed transcript is fetched).\n\n- **Returns**: A promise that resolves to an `FetchYoutubeTranscriptsResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data object containing the transcript information.\n - `error` (string or null): An error message if there are any issues with fetching the transcript.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function retrieveTranscript() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n videoId: 'YOUR_YOUTUBE_VIDEO_ID',\n raw: true,\n };\n\n try {\n const response = await Carbon.fetchYoutubeTranscript(params);\n\n if (response.status === 200) {\n console.log('Transcript data:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during transcript fetch:', err.message);\n }\n }\n\n retrieveTranscript();\n ```\n\n### 21. getEmbeddingsfetchUrls()\n\n- **Description**: This method is utilized to retrieve embeddings based on a provided query.\n\n- **Parameters**: The `getEmbeddings()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `query` (string): The search query.\n - `queryVector` (number[] or null, optional): The query vector.\n - `k` (number): The number of nearest embeddings to retrieve.\n - `filesIds` (number[] or null, optional): An array of file IDs.\n - `parentFileIds` (number[] or null, optional): An array of parent file IDs.\n - `tags` (Record<string, any> or null, optional): Tags associated with the embeddings.\n - `includeTags` (boolean or null, optional): A flag to include tags.\n - `includeVectors` (boolean or null, optional): A flag to include vectors.\n - `includeRawFile` (boolean or null, optional): A flag to include raw file.\n - `hybridSearch` (boolean or null, optional): A flag to indicate hybrid search.\n - `hybridSearchTuningParameters` (HybridSearchParams or null, optional): Parameters for fine-tuning hybrid search. The following properties are available:\n - `weightA`\n - `weightB`\n\n- **Returns**: A promise that resolves to an `GetEmbeddingsResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data containing the embeddings information.\n - `error` (string or null): An error message if there's an issue fetching the embeddings.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function retrieveEmbeddings() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n query: 'YOUR_SEARCH_QUERY',\n k: 5, // Example: retrieve 5 nearest embeddings.\n // Add other parameters as needed\n };\n\n try {\n const response = await Carbon.getEmbeddings(params);\n\n if (response.status === 200) {\n console.log('Embeddings data:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during embeddings fetch:', err.message);\n }\n }\n\n retrieveEmbeddings();\n ```\n\n### 22. getTextChunks()\n\n- **Description**: This method fetches text chunks based on the specified user file ID and other optional parameters.\n\n- **Parameters**: The `getTextChunks()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `userFileId` (number): ID of the user file for which text chunks are being fetched.\n - `limit` (number, optional): Maximum number of text chunks to retrieve. Defaults to 10.\n - `offset` (number, optional): The number to start the fetch from. Useful for pagination. Defaults to 0.\n - `orderBy` (string, optional): The column name to order the results by. Defaults to 'updated_at'.\n - `orderDir` (string, optional): Direction of the order ('asc' or 'desc'). Defaults to 'asc'.\n - `includeVectors` (boolean, optional): Flag to indicate whether to include vectors in the response. Defaults to false.\n\n- **Returns**: A promise that resolves to an `GetTextChunksResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data containing the text chunks information.\n - `error` (string or null): Error message if there's an issue fetching the text chunks.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function retrieveTextChunks() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n userFileId: 12345, // Replace with actual user file ID.\n limit: 5, // Example: retrieve 5 text chunks.\n // Add other parameters as needed\n };\n\n try {\n const response = await Carbon.getTextChunks(params);\n\n if (response.status === 200) {\n console.log('Text chunks data:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during text chunks fetch:', err.message);\n }\n }\n\n retrieveTextChunks();\n ```\n\n### 23. getUserDataSources()\n\n- **Description**: This method retrieves user data sources based on the provided parameters.\n\n- **Parameters**: The `getUserDataSources()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `limit` (number, optional): The maximum number of data sources to retrieve. Defaults to 10.\n - `offset` (number, optional): The starting point for the fetch, useful for pagination. Defaults to 0.\n - `orderBy` (string, optional): The column name to order the results by. Defaults to 'updated_at'.\n - `orderDir` (string, optional): The direction of the order ('asc' or 'desc'). Defaults to 'asc'.\n - `sourceType` (string, optional): The type of data source to filter the results by.\n - `sourceIds` (number[] or null, optional): An array of specific data source IDs to retrieve.\n - `revokedAccess` (boolean or null, optional): A flag to filter data sources based on revoked access.\n\n- **Returns**: A promise that resolves to an `AccessTokenResponse` object with the following properties:\n\n - status (number): The HTTP status code of the response.\n - data (object or null): The response data containing user data sources information.\n - error (string or null): An error message if there's an issue fetching the user data sources.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function retrieveUserDataSources() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n limit: 5, // Example: retrieve 5 data sources.\n // Add other parameters as needed\n };\n\n try {\n const response = await Carbon.getUserDataSources(params);\n\n if (response.status === 200) {\n console.log('User data sources data:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error(\n 'Unexpected error during user data sources fetch:',\n err.message\n );\n }\n }\n\n retrieveUserDataSources();\n ```\n\n### 24. revokeAccessToDataSource()\n\n- **Description**: This method revokes user access to a specified data source. The user will need to re-authenticate after access is revoked.\n\n- **Parameters**: The `revokeAccessToDataSource()` method accepts an object with the following properties:\n\n - `accessToken` (string): The access token obtained through authentication.\n - `dataSourceId` (number): The ID of the data source for which access should be revoked.\n\n- **Returns**: A promise that resolves to an `RevokeAccessToDataSourceResponse` object with the following properties:\n\n - `status` (number): The HTTP status code of the response.\n - `data` (object or null): The response data indicating the outcome of the access revocation request.\n - `error` (string or null): An error message if there are any issues with revoking access to the data source.\n\n- **Usage**:\n\n ```javascript\n import * as Carbon from 'carbon-connect-js';\n\n async function revokeDataSourceAccess() {\n const params = {\n accessToken: 'YOUR_ACCESS_TOKEN',\n dataSourceId: 12345, // Example: data source ID to revoke access to.\n };\n\n try {\n const response = await Carbon.revokeAccessToDataSource(params);\n\n if (response.status === 200) {\n console.log('Successfully revoked access:', response.data);\n } else {\n console.error('Error:', response.error);\n }\n } catch (err) {\n console.error('Unexpected error during access revocation:', err.message);\n }\n }\n\n revokeDataSourceAccess();\n ```\n\n# Prebuilt Component\n\n---\n\n## Installation\n\n---\n\nTo install Carbon Connect as a prebuilt React component, use npm as follows:\n\n```bash\nnpm install carbon-connect\n```\n\n## Prerequisites\n\n---\n\nThe package expects the following npm packages to be installed in your project:\n\n1. `@radix-ui/react-dialog`\n2. `\"lodash\": \"^4.17.21`\n3. `react`\n4. `react-dom`\n5. `react-drag-drop-files`\n6. `react-icons`\n7. `react-toastify`\n8. `tailwindcss`\n\nPlease check for the versions from `package.json` if you encounter a version mismatch error.\n\n## Component Properties\n\n---\n\nThe `CarbonConnect` component accepts the following properties:\n\n| Property | Type | Required? | Description |\n| -------------------------- | --------------- | --------- | ----------------------------------------------------------------------------------------------------------------------- |\n| `brandIcon` | String | Yes | A URL or a local path to your organization's brand icon. |\n| `orgName` | String | Yes | The name of your organization. This is displayed in the initial announcement modal view. |\n| `tokenFetcher` | Function | Yes | A function that returns a promise which resolves with the access and refresh tokens. |\n| `onSuccess` | Function | No | A callback function that will be called after the file upload is successful. |\n| `onError` | Function | No | A callback function that will be called if there is any error in the file upload. |\n| `children` | React Node(JSX) | No | You can pass any valid React node that will be used as a trigger to open the component. |\n| `entryPoint` | String | No | The initial active step when the component loads. Default entry point is 'LOCAL_FILES'. More integrations are upcoming. |\n| `maxFileSize` | Number | No | Maximum file size in bytes that is allowed to be uploaded. Defaults to 10 MB |\n| `tags` | Object | No | Any additional data you want to associate with the component's state, such as an app ID. |\n| `enabledIntegrations` | dict | No | Let's you choose which 3rd party integrations to show. See below for more details about this prop |\n| `primaryBackgroundColor` | String | No | The primary background color of the component. Defaults to `#000000`. |\n| `primaryTextColor` | String | No | The primary text color of the component. Defaults to `#FFFFFF`. |\n| `secondaryBackgroundColor` | String | No | The secondary background color of the component. Defaults to `#FFFFFF`. |\n| `secondaryTextColor` | String | No | The secondary text color of the component. Defaults to `#000000`. |\n| `allowMultipleFiles` | Boolean | No | Whether or not to allow multiple files to be uploaded at once. Defaults to `false`. |\n| `chunkSize` | Number | No | The no.of tokens per chunk. Defaults to 1500. |\n| `overlapSize` | Number | No | The no.of tokens to overlap between chunks. Defaults to 20. |\n| `open` | Boolean | No | Whether or not to open the component. Defaults to `false`. |\n| `setOpen` | Function | No | A function that will be called to set the open state of the component. Defaults to `None`. |\n| `alwaysOpen` | Boolean | No | Whether or not to always keep the component open. Defaults to `false`. |\n| `tosURL` | String | No | A URL to your organization's terms of service. Defaults to `https://carbon.ai/terms`. |\n| `privacyPolicyURL` | String | No | A URL to your organization's privacy policy. Defaults to `https://carbon.ai/privacy`. |\n| `navigateBackURL` | String | No | A URL to your intended destination. Defaults to `None`. |\n| `backButtonText` | String | No | The label that you want to show on the back button. Defaults to `Go back` |\n\nWhen you do not pass `open` or `setOpen`, CC will manage the open state internally. If you pass `open` and `setOpen`, you will have to manage the open state yourself.\n\n### Note about Google Drive\n\nOur oAuth app is in approval phase. your users will see a warning message when they try to connect their Google account. Please ignore the warning and proceed to connect your account. We will update this section once our app is approved.\n\n## Usage\n\n---\n\nThis section demonstrates how to integrate the CarbonConnect component within a Next.js project.\n\n### Client Side Configuration\n\n1. Import necessary libraries and components:\n\n```jsx\nimport { CarbonConnect } from 'carbon-connect';\nimport axios from 'axios';\n```\n\n2. Token Retrieval:\n The tokenFetcher function is set up to request access tokens from Carbon directly via your backend:\n\n```js\nconst tokenFetcher = async () => {\n const response = await axios.get('/api/auth/fetchCarbonTokens', {\n params: { customer_id: 'your_customer_id' },\n });\n return response.data; // Must return data containing access_token\n};\n```\n In the example above, tokenFetcher is a helper function that retrieves the necessary tokens for authentication. This function should be implemented in your client-side code and is designed to make a request to an API on your backend server. The API then requests tokens from the Carbon token creation endpoint. The Carbon token creation endpoint is a secure endpoint that requires a valid API key and customer ID. The customer ID is a unique identifier for your end-user, and you can pass any string as the customer ID. The API key is a secret key provided to you by Carbon. Please contact us to obtain your API key.\n\n3. Implement CarbonConnect Component:\n Here's a concise usage example. Customize according to your requirements:\n\n```jsx\n<CarbonConnect\n orgName=\"Your Organization\"\n brandIcon=\"path/to/your/brand/icon\"\n tokenFetcher={tokenFetcher}\n tags={{\n tag1: 'tag1_value',\n tag2: 'tag2_value',\n tag3: 'tag3_value',\n }}\n maxFileSize={10000000}\n enabledIntegrations={[\n {\n id: 'LOCAL_FILES',\n chunkSize: 100,\n overlapSize: 10,\n maxFileSize: 20000000,\n allowMultipleFiles: true,\n maxFilesCount: 5,\n allowedFileTypes: [\n {\n extension: 'csv',\n chunkSize: 1200,\n overlapSize: 120,\n },\n {\n extension: 'txt',\n chunkSize: 1599,\n overlapSize: 210,\n },\n {\n extension: 'pdf',\n },\n ],\n },\n {\n id: 'NOTION',\n chunkSize: 1500,\n overlapSize: 20,\n },\n {\n id: 'WEB_SCRAPER',\n chunkSize: 1500,\n overlapSize: 20,\n },\n {\n id: 'GOOGLE_DRIVE',\n chunkSize: 1000,\n overlapSize: 20,\n },\n ]}\n onSuccess={(data) => console.log('Data on Success: ', data)}\n onError={(error) => console.log('Data on Error: ', error)}\n primaryBackgroundColor=\"#F2F2F2\"\n primaryTextColor=\"#555555\"\n secondaryBackgroundColor=\"#f2f2f2\"\n secondaryTextColor=\"#000000\"\n allowMultipleFiles={true}\n open={true}\n chunkSize={1500}\n overlapSize={20}\n // entryPoint=\"LOCAL_FILES\"\n></CarbonConnect>\n```\n\n### Server Side Configuration\n\nYour backend should handle token requests like this:\n\n```js\nconst response = await axios.get('https://api.carbon.ai/auth/v1/access_token', {\n headers: {\n 'Content-Type': 'application/json',\n 'customer-id': '<YOUR_USER_UNIQUE_IDENTIFIER>',\n authorization: 'Bearer <YOUR_API_KEY>',\n },\n});\nif (response.status === 200 && response.data) {\n res.status(200).json(response.data);\n}\n```\n\n### Return Value Expectation:\n\nEnsure that your tokenFetcher returns an object structured as:\n\n```js\n{\n access_token: string;\n}\n```\n\n## Enable Data Sources\n\n---\n\nAnother important prop is enabledIntegrations. This prop lets you choose which integrations to show in the component. You can also pass additional configuration for each integration. We have provided an example in the above code snippet. Here is the list of all the integrations that you can enable:\n\n1. `LOCAL_FILES`: This integration lets you upload files from your local machine. You can pass the following configuration for this integration:\n\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `maxFileSize`: This is the maximum file size in bytes that is allowed to be uploaded. Defaults to 10 MB.\n - `allowMultipleFiles`: Whether or not to allow multiple files to be uploaded at once. Defaults to `false`.\n - `maxFilesCount`: This is the maximum no.of files that can be uploaded at once. Defaults to 10.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n - `allowedFileTypes`: This is an array of objects. Each object represents a file type that is allowed to be uploaded. Each object can have the following properties:\n - `extension`: The file extension of the file type. This is a required property.\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n\n2. `NOTION`: This integration lets you upload files from your notion account. You can pass the following configuration for this integration\n\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n\n3. `WEB_SCRAPER`: This integration lets you scrape URLs. You can pass the following configuration for this integration:\n\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `recursionDepth`: This is the depth of recursion. Defaults to 3. If you do not want recursion to happen, please pass 1. Passing 0 will scrape recursively until the maxPagesToScrape limit is reached.\n - `maxPagesToScrape`: This is the maximum no.of pages to scrape. Defaults to 100.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n\n4. `GOOGLE_DRIVE`: This integration lets you upload files from your Google Drive. You can pass the following configuration for this integration:\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n\n5. `INTERCOM`: This integration lets you select pages from your Intercom. You can pass the following configuration for this integration:\n\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n\n6. `DROPBOX`: This integration lets you upload files from your Dropbox. You can pass the following configuration for this integration:\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n\n7. `ONEDRIVE`: This integration lets you upload files from your Onedrive. You can pass the following configuration for this integration:\n - `chunkSize`: This is the no.of tokens per chunk. Defaults to 1500.\n - `overlapSize`: This is the size of the overlap in tokens. Defaults to 20.\n - `skipEmbeddingGeneration`: Whether or not to skip embeddings generation. Defaults to `false`.\n\n## Callback Function Props\n\n---\n\n1. `onError`: CC will also call another call back method if there is an error while uploading file. This function will pass data in the following format:\n\n```js\n{\n status: 400,\n action: 'UPDATE',\n event: 'UPDATE',\n integration: `<INTEGRATION_NAME>`, // 'LOCAL_FILES' or 'WEB_SCRAPER',\n data: `<data_object>`, // This field will be present only if the error is related to a file or web scraper\n}\n```\n\n2. `onSuccess`: You can let CC trigger a callback function upon successful file upload, 3rd party account connection and file selection, Webscraping request initiation.\n\n ### `onSuccess`` Event Types\n\n 1. `INITIATE`: This event type is triggered when a user enters the integration flow (either for auth or file selection)\n 2. `ADD`: This event type is triggered when a user authenticates an account under an integration.\n 3. `UPDATE`: This event type is triggered when a user adds or removes files for an integration. We’ll list the files added or removed.\n 4. `CANCEL`: This event type is triggered when when a user exits the integration flow without taking any action.\n\n\n ### Data passed to `onSuccess` callback\n\n The data passed to the onSuccess callback prop will be:\n\n 1. For `LOCAL_FILES`: \n\n ```js\n {\n status: 200,\n data: {\n \"data_source_external_id\": null, // This field is not applicable for local files\n \"sync_status\": null, // This is not applicable for local files\n \"files\": <Array of objects corresponding to the files uploaded>, (Refer to the file object format below)\n },\n action: 'UPDATE'\n event: 'UPDATE'\n integration: 'LOCAL_FILES',\n }\n ```\n\n 2. For `WEB_SCRAPER`: An array containing only one object in the following format\n\n ```js\n {\n status: 200,\n data: {\n \"data_source_external_id\": null, // This field is not applicable for webscrapers\n \"sync_status\": null, // This is not applicable for webscrapers\n \"files\": <Array of objects corresponding to the parent URLs submitted>, (Refer to the file object format below)\n },\n action: 'UPDATE'\n event: 'UPDATE'\n integration: 'WEB_SCRAPER',\n }\n\n ```\n\n 3. For third party integrations: An array of objects. Each object will be in the following format:\n\n ```js\n {\n status: 200,\n data: {\n \"data_source_external_id\": <Unique ID for the data source>,\n \"sync_status\": <SYNC_STATUS>,\n \"files\": <Array of objects corresponding to the files / pages selected>,\n } or null,\n action: <ACTION_TYPE>, // `ACTION_TYPE` can be one of the following: `INITIATE`, `ADD`, `UPDATE`, `CANCEL`\n event: <EVENT_TYPE>, // `EVENT_TYPE` can be one of the following: `INITIATE`, `ADD`, `UPDATE`, `CANCEL`\n integration: <INTEGRATION_NAME>, // `INTEGRATION_NAME` can be one of the following: `LOCAL_FILES`, `NOTION`, `WEB_SCRAPER`, `GOOGLE_DRIVE`, `INTERCOM`, `DROPBOX`, `ONEDRIVE`\n }\n ```\n\n Each file object will be in the following format:\n\n ```js\n {\n \"id\": `Unique ID for the file, can be used for resyncing, deleting, updating tags etc.`,\n \"source\": `<integration_name>`, // One among `LOCAL_FILES`, `NOTION`, `WEB_SCRAPER`, `GOOGLE_DRIVE`, `INTERCOM`, `DROPBOX`, `ONEDRIVE`\n \"organization_id\": `<organization_id>`, // This is your unique organization id in carbon\n \"organization_supplied_user_id\": `<organization_supplied_user_id>`, // This is the unique user id that you pass to CC\n \"organization_user_data_source_id\": `<organization_user_data_source_id>`, // This is the unique user data source id that CC creates for each user for each integration\n \"external_file_id\": `<external_file_id>`, // This is the unique file id in the 3rd party integration\n \"external_url\": `<external_url>`, // This is the unique url of the file in the 3rd party integration\n \"sync_status\": `<sync_status>`, // This is the sync status of the file. It can be one of the following: `READY`, `QUEUED_FOR_SYNCING`, `SYNCING`, `SYNC_ERROR`\n \"last_sync\": `<last_sync>`, // This is the timestamp of the last sync\n \"tags\": `<tags>`, // These are the tags passed in to CC\n \"file_statistics\": `<file_statistics>`, // This is the file statistics object\n \"file_metadata\": `<file_metadata>`, // This is the file metadata object\n \"chunk_size\": `<chunk_size>`, // This is the chunk size used for the file\n \"chunk_overlap\": `<chunk_overlap>`, // This is the chunk overlap used for the file\n \"name\": `<name>`, // This is the name of the file\n \"enable_auto_sync\": `<enable_auto_sync>`, // This is the auto sync status of the file. This is a boolean flag\n \"presigned_url\": `<presigned_url>`, // This is the presigned url of the file\n \"parsed_text_url\": `<parsed_text_url>`, // This is the parsed text url of the file\n \"skip_embedding_generation\": `<skip_embedding_generation>`, // This is the skip embedding generation status of the file. This is a boolean flag\n \"created_at\": `<created_at>`, // This is the timestamp of the file creation\n \"updated_at\": `<updated_at>`, // This is the timestamp of the file updation\n \"action\": `<action>`, // This is the action type. It can be one of the following: `ADD`, `UPDATE`, `REMOVE`\n }\n ```\n"},{"name":"Health","description":"\n---\nUse this endpoint to check the status of the API. A `200` response indicates that the Carbon API is up.\n\nYou can also check for the health of our services on our [Status Page](https://status.carbon.ai/).\n"},{"name":"Auth","description":"\n---\n"},{"name":"Users","description":"\n---\n"},{"name":"Files","description":"\n---\nUtilize these API endpoints to manage user documents. Whether the data is sourced from third-party integrations, web pages, or file uploads, Carbon maintains consistency by standardizing all documents as \"files\" within our data model.\n\nCarbon supports the following file formats:\n\n### Text\n- `pdf`\n- `xlsx`\n- `csv`\n- `docx`\n- `txt`\n- `md`\n- `rtf`\n- `tsv`\n- `pptx`\n- `json` (Coming Soon)\n\n### Audio\n- `mp3`\n- `mp4`\n- `mp2`\n- `aac`\n- `wav`\n- `flac`\n- `pcm`\n- `m4a`\n- `ogg`\n- `opus`\n- `webm`\n\n### Images\n- `jpg`\n- `png`\n"},{"name":"Embeddings","description":"\n---\nEmploy these endpoints for direct vector searches within our managed vector database or to fetch embeddings for storage in your custom vector store. Additionally, we offer hybrid support for keyword-based searches.\n"},{"name":"Data Sources","description":"\n---\nCarbon facilitates user connections and content synchronization with third-party applications. We manage authentication, ingestion, parsing, and sync scheduling. Within Carbon, content from third-party applications is uniformly categorized as \"files\" within our data model. \n\nCarbon also supports websites as a data source (see [here](https://api.carbon.ai/redoc#tag/Data-Sources/operation/web_scrape_web_scrape_post)).\n\n# Google Drive\nThe Carbon Connect `enabledIntegrations` value for Google Drive is `GOOGLE_DRIVE`. Google Slides, Google Docs and Google Sheets are supported with our Google Drive integration, along with regular text, audio and image files.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://developers.google.com/identity/protocols/oauth2)** to connect to Google workspace.\n\n## Authorization Flow\n\n**Carbon's Google Drive integration is still pending approval from Google. In the meantime, end users are required to take a couple additional steps to connect their accounts (see gif below).**\n\n![](https://files.readme.io/19f57f6-Carbon_-_Google_OAuth_Flow.gif)\n\nLog into your Google Drive account.\n![](https://i.ibb.co/wQsyjrV/Screen-Shot-2023-08-11-at-2-04-49-PM.png)\n\nOnce you've successfully authenticated your account, you can select files directly.\n![](https://i.ibb.co/wYs9Xbp/image.png)\n\nClick \"Select\" after selecting files to grant Carbon access to files.\n![](https://i.ibb.co/1fSzKHS/image.png)\n\n\n## Configuration\n\n### Custom OAuth Credentials\n\n1. Go to `APIs and Services` > `Enabled APIs and Services` in your Google Cloud console, then click on the button titled `ENABLE APIS AND SERVICES` and enable `Google Drive API` and `Google Picker API`.\n2. Then create an `OAuth Client ID` in the `Credentials section` under `Google Drive API`. Select `Web Application` as the Application type and give it an identifiable name for your reference.\n\n![](https://files.readme.io/e7f42e5-image.png)\n\n3. Add [https://api.carbon.ai](https://api.carbon.ai/) as the `Authorized JS origin` and <https://api.carbon.ai/integrations/google> as an `Authorized redirect URI`.\n\n![](https://files.readme.io/60d16d3-image.png)\n\n4. Save the credentials. Download the credentials.json file once you save the OAuth Client ID data and share the file with Carbon.\n\n![](https://files.readme.io/f265775-image.png)\n\n5. Then create an `API key` in the `Credentials section` under `Google Picker API`. Restrict the application to websites and then add [https://api.carbon.ai](https://api.carbon.ai/) to the list under website restrictions. For `API Restrictions`, pick `Restrict key` and select `Google Picker API` from the list.\n\n6. Save the API key. Copy the API key and share it with Carbon.\n\n7. Configure your consent screen in the OAuth Consent Screen. Provide your **App name**, **support email address**, and **brand logo**. Add [carbon.ai](http://carbon.ai/) to `Authorized domain`.\n\n![](https://files.readme.io/33ebd01-image.png)\n\n![](https://files.readme.io/6d7f247-image.png)\n\n\n8. Click on `Add or Remove Scopes` button to add the following scopes: `userinfo.profile`, `userinfo.email`, `drive.readonly`, `drive.metadata.readonly`\n\n![](https://files.readme.io/6649d66-image.png)\n![](https://i.ibb.co/PNRnYwV/Screen-Shot-2023-08-11-at-2-11-51-PM.png)\n\n9. If you wish to add test users, you can do so. These users will not see the \"App is unverified\" notification. Other users will see this alert.\n10. Click `Publish App` to make this app available to your end-users.\n\n![](https://files.readme.io/d24c355-image.png)\n\n## Synchronization\n\nSyncs are triggered when end-users add or remove Google Drive files and folders via the Google Drive picker. When a user selects a folder to be synced, we auto-sync all files added to the folder as well.\n\nYou can use the `resync_file` API endpoint to programmatically resync specific Google Drive files.\n\nIn addition, we have a 24-hour batch sync running in the background. You can request us via Slack to run more frequent batch syncs.\n\n# Dropbox\nThe Carbon Connect `enabledIntegrations` value for Dropbox is `DROPBOX`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://developers.dropbox.com/oauth-guide)** to connect to Dropbox.\n\n## Authorization Flow\n\nLog into your Dropbox account.\n![](https://files.readme.io/9427ebb-image.png)\n\nOnce you've successfully authenticated your account, you can select files directly.\n![](https://files.readme.io/0efd7b0-image.png)\n\nClick \"Choose\" after selecting files to grant Carbon access to files.\n![](https://files.readme.io/9c32acb-image.png)\n\n## Configuration\n\n### Custom OAuth Credentials\n\n1. Sign up on [Dropbox Developers](https://www.dropbox.com/developers) and create a new app with `Full Dropbox` access.\n\n![](https://i.ibb.co/fdrPky4/Screen-Shot-2023-09-08-at-12-39-39-PM.png)\n\n2. Copy and share the `App key` and `App secret` under the `Settings` tab with us.\n\n![](https://i.ibb.co/QmR2WXb/Screen-Shot-2023-09-08-at-1-06-46-PM.png)\n\n3. Add <https://api.carbon.ai/integrations/dropbox> as a `Redirect URIs` and [carbon.ai](carbon.ai) as the `Chooser / Saver / Embedder domains`.\n\n![](https://i.ibb.co/5vR8zgf/Screen-Shot-2023-09-08-at-1-15-17-PM.png)\n\n4. Configure your app details under the `Branding` tab. These details will appear on the OAuth Consent Screen as well. Provide your **App name**, **Publisher**, and **App icons**. \n\n![](https://i.ibb.co/wYj1LL7/Screen-Shot-2023-09-08-at-1-10-10-PM.png)\n\n5. Under the `Permissions` tab, add the following scopes: `account_info.read`, `files.metadata.read`, and `files.content.read`.\n\n![](https://i.ibb.co/xSzhgYC/Screen-Shot-2023-09-08-at-1-03-32-PM.png)\n\n6. Click `Apply for Production` under the `Settings` tab to make this app available to your end-users.\n\n## Functionality\n\nCarbon allows users to upload `pdf`, `docx`, `pptx`,`txt`,`csv`, `png`, `rtf`, `tsv`, `xlsx`, `jpeg` and `md` files directly from Dropbox.\n\n## Synchronization\n\nSyncs are triggered when end-users select files to upload via the Dropbox file selector UI. You can also use the `resync_file` API endpoint to programmatically resync specific Dropbox files. To delete Dropbox files from Carbon, you can use the `deletefile` endpoint directly.\n\nWe do not run our 24-hour batch sync for Dropbox by default. If you'd like us to enable batch syncs to run in the background, you can request this via Slack.\n\n# Intercom\n\nThe Carbon Connect `enabledIntegrations` value for Intercom is `INTERCOM`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://developers.intercom.com/building-apps/docs/setting-up-oauth)** to connect to Intercom workspaces.\n\n## Authorization Flow\n\n![](https://files.readme.io/d72b15d-image.png)\n\n![](https://files.readme.io/c2825e3-image.png)\n\n## Functionality\n\nCarbon syncs all `Published` articles under a single Intercom workspace. Any `Draft` article won't be synced. We currently support only having a single Intercom workspace connected per `customer_id`.\n\n## Configuration\n\n### Custom OAuth Credentials\n\n1. After you create or log into your [Intercom Developer](https://developers.intercom.com/) account, click `New App` to create your own app.\n\n![](https://i.ibb.co/Y3Nmh4r/Screen-Shot-2023-09-11-at-5-06-46-PM.png)\n\n2. Under the `Authentication` tab, click `Edit` -> `Use OAuth` -> `Add redirect URL` and then enter https://api.carbon.ai/integrations/intercom.\n\n![](https://i.ibb.co/pfzG9VJ/Screen-Shot-2023-09-11-at-5-17-47-PM.png)\n\n3. Under the `Authentication` tab, click `Edit` and then add permissions for `Read one admin`, `Read and List Articles`, and `Read and Write Articles`. You can remove access to the other permissions.\n\n![](https://i.ibb.co/L9BxJFK/Screen-Shot-2023-09-11-at-5-21-01-PM.png)\n\n4. Under the `Basic Info` tab, share the `Client ID` and `Client secret` with us via Slack.\n\n![](https://i.ibb.co/wCnVcQq/Screen-Shot-2023-09-11-at-5-25-39-PM.png)\n\n5. Under the `Basic Info` tab, add an `App icon` and `App name`.\n\n![](https://i.ibb.co/HqS9bhk/Screen-Shot-2023-09-11-at-5-47-31-PM.png)\n\n6. Click `Test and publish` -> `Submit for review` and fill in the details require to publish your app. After your app is approved, then we can enable the white labeling.\n\n![](https://i.ibb.co/Cm0xWBF/Screen-Shot-2023-09-11-at-5-51-09-PM.png)\n\n\n## Synchronization\n\nSyncs are triggered when end-users add or remove pages via the Intercom OAuth flow. You can use the `resync_file` API endpoint to programmatically resync specific Intercom files.\n\nIn addition, we have a 24-hour batch sync running in the background. You can request us via Slack to run more frequent batch syncs.\n\n# Notion\n\nThe Carbon Connect `enabledIntegrations` value for Notion is `NOTION`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://developers.notion.com/docs/authorization)** to connect to Notion workspaces.\n\n## Authorization Flow\n\n![](https://files.readme.io/0fa801d-image.png)\n\n![](https://files.readme.io/f72df4f-image.png)\n\n## Functionality\n\nCarbon enables end-users to select top-level pages for synchronization and automatically syncs all sub-pages. For instance, a top-level Company page may contain sub-pages for **`Company Benefits`** and **`PTO Policy`**. Once the end-user selects the Company page in the Authorization flow, Carbon automatically includes the sub-pages **`Company Benefits`** or **`PTO Policy`** to be synced.\n\n## Synchronization\n\nSyncs are triggered when end-users add or remove pages via the Notion OAuth flow. You can use the `resync_file` API endpoint to programmatically resync specific Notion files.\n\nIn addition, we have a 24-hour batch sync running in the background. You can request us via Slack to run more frequent batch syncs. \n\nWhen a user adds a nested page or database record under a selected Notion page, we auto-sync those documents as well.\n\n# OneDrive\n\nThe Carbon Connect `enabledIntegrations` value for OneDrive is `ONEDRIVE`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/msa-oauth?view=odsp-graph-online)** to connect to OneDrive.\n\n## Authorization Flow\n\nLog into your Microsoft account.\n![](https://i.ibb.co/86FPknL/Screen-Shot-2023-08-31-at-4-41-48-PM.png)\n\nClick the \"Confirm\" button to grant us permission to access OneDrive.\n![](https://i.ibb.co/BqxmsJG/2880x1628.png)\n\nClick the \"Select Files from OneDrive\" button to open up the OneDrive file selector.\n![](https://i.ibb.co/Sm90PHL/Screen-Shot-2023-08-31-at-4-32-37-PM.png)\n\nClick \"Select\" after selecting files to grant Carbon access to files.\n![](https://i.ibb.co/t4Kchcv/Screen-Shot-2023-08-31-at-4-35-33-PM.png)\n\n## Configuration\n\n### Custom OAuth Credentials\n\n#### Setting up the OAuth App\n\n1. Create or log into your [Microsoft Azure](https://portal.azure.com/) Account.\n\n2. Under `Azure Services`, select `App Registration` -> `New registration`.\n\n![](https://i.ibb.co/SPR4ztF/Screen-Shot-2023-09-08-at-2-52-56-PM.png)\n\n3. Select `Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` as the `Supported account types`.\n\n![](https://i.ibb.co/qBLpg1r/Screen-Shot-2023-09-12-at-11-09-28-PM.png)\n\n4. Add https://api.carbon.ai/integrations/onedrive as the `Redirect URI` and select `Web` under the `Select a platform` dropdown. You can also opt to use a custom CNAME record pointing to https://api.carbon.ai. The domain path must still be `/integrations/onedrive`.\n\n![](https://i.ibb.co/9NTZycz/Screen-Shot-2023-09-08-at-2-59-16-PM.png)\n\n5. Under `Manage` -> `API permissions` add the permissions `Files.Read.All`, `offline_access`, `openid`, and `User.Read`.\n\n![](https://i.ibb.co/VTGK90Z/Onedrive-1.png)\n\n6. Under `Client credentials`, click `Add a certificate or secret` -> `New Client Secret`. Then copy the client secret’s `Value` and share it with us via Slack.\n\n![](https://i.ibb.co/0tghs0p/Screen-Shot-2023-09-08-at-3-13-30-PM.png)\n\n7. Navigate to the `Overview` tab then copy the `Application (client) ID` and share it with us via Slack.\n\n![](https://i.ibb.co/KGWzr1H/Screen-Shot-2023-09-12-at-11-14-08-PM.png)\n\n8. Customize your app branding under `Manage` -> `Branding & properties`.\n\n![](https://i.ibb.co/HrS9Cxj/Screen-Shot-2023-09-08-at-3-24-16-PM.png)\n\n#### Setting up the File Picker UI\n\n1. Under `Azure Services`, select `App Registration` -> `New registration`.\n\n![](https://i.ibb.co/qBLpg1r/Screen-Shot-2023-09-12-at-11-09-28-PM.png)\n\n2. Select `Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` as the `Supported account types`.\n\n![](https://i.ibb.co/SPR4ztF/Screen-Shot-2023-09-08-at-2-52-56-PM.png)\n\n3. Under the `Authentication` tab, select `Add a Platform` -> `Single Page Application`. \n\n![](https://i.ibb.co/nLDdQfP/Screen-Shot-2023-09-13-at-3-03-00-PM.png)\n\n4. For the `Redirect URI` of the `Single Page Application`, you can use https://api.carbon.ai/static/loading.html or add a custom CNAME record pointing to https://api.carbon.ai. The domain path must still be `/static/loading.html`.\n\n![](https://i.ibb.co/0X5Nkz7/Screen-Shot-2023-09-13-at-3-13-53-PM.png)\n\n5. Under the `Authentciation`'s `Implicit grant and hybrid flows` section, check `Access tokens (used for implicit flows)` and `ID tokens (used for implicit and hybrid flows)`.\n\n![](https://i.ibb.co/ckVKZgV/Screen-Shot-2023-09-13-at-3-17-44-PM.png)\n\n6. Under `Manage` -> `API permissions` add the permissions `Files.Read.All`, `Sites.Read.All`, `User.Read`, `AllSites.Read`, and `MyFiles.Read`.\n\n![](https://i.ibb.co/xjtvKTg/Screen-Shot-2023-09-13-at-3-22-12-PM.png)\n\n7. Under `Client credentials`, click `Add a certificate or secret` -> `New Client Secret`. Then copy the client secret’s `Value` and share it with us via Slack.\n\n![](https://i.ibb.co/0tghs0p/Screen-Shot-2023-09-08-at-3-13-30-PM.png)\n\n8. Navigate to the `Overview` tab then copy the `Application (client) ID` and share it with us via Slack.\n\n## Functionality\n\nCarbon allows users to upload `pdf`, `docx`, `pptx`,`txt`,`csv`, `png`, `rtf`, `tsv`, `xlsx`, `jpeg` and `md` files directly from OneDrive.\n\n## Synchronization\n\nSyncs are triggered when end-users select files to upload via the OneDrive file selector UI. You can also use the `resync_file` API endpoint to programmatically resync specific OneDrive files. To delete OneDrive files from Carbon, you can use the `deletefile` endpoint directly.\n\nWe do not run our 24-hour batch sync for OneDrive by default. If you'd like us to enable batch syncs to run in the background, you can request this via Slack.\n\n# SharePoint\n\nThe Carbon Connect `enabledIntegrations` value for SharePoint is `SHAREPOINT`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/msa-oauth?view=odsp-graph-online)** to connect to SharePoint.\n\n## Authorization Flow\n\nEnter your Sharepoint `tenant` and `site name`. For example, if the SharePoint site URL is `https://jasoncarbon.sharepoint.com/sites/carbon-dev`, `jasoncarbon` is the tenant and `carbon-dev` is the site name.\n\n![](https://i.ibb.co/sgW9vfQ/Screen-Shot-2023-10-24-at-11-45-21-AM.png)\n\nLog into your Microsoft SharePoint account.\n![](https://i.ibb.co/86FPknL/Screen-Shot-2023-08-31-at-4-41-48-PM.png)\n\nClick the \"Confirm\" button to grant us permission to access SharePoint.\n![](https://i.ibb.co/x6L7knS/Screen-Shot-2023-10-24-at-11-45-27-AM.png)\n\nOnce clicking \"Confirm\", you will be taken through a flow to grant permissions.\n![](https://i.ibb.co/HTqCBVR/Screen-Shot-2023-10-24-at-1-00-08-PM.png)\n\nClick the \"Select Files from SharePoint\" button to open up the SharePoint file selector.\n![](https://i.ibb.co/6tn24b3/Screen-Shot-2023-10-24-at-1-00-20-PM.png)\n\nClick \"Select\" after selecting files to grant Carbon access to files.\n![](https://i.ibb.co/WVTwT9P/Screen-Shot-2023-10-24-at-11-45-39-AM.png)\n\nYou'll see a screen confirming that your files have been added.\n![](https://i.ibb.co/nwSRcSS/Screen-Shot-2023-10-24-at-11-45-11-AM.png)\n\n## Configuration\n\n### Custom OAuth Credentials\n\n#### Setting up the OAuth App\n\n1. Create or log into your [Microsoft Azure](https://portal.azure.com/) Account.\n\n2. Under `Azure Services`, select `App Registration` -> `New registration`.\n\n![](https://i.ibb.co/SPR4ztF/Screen-Shot-2023-09-08-at-2-52-56-PM.png)\n\n3. Select `Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` as the `Supported account types`.\n\n![](https://i.ibb.co/qBLpg1r/Screen-Shot-2023-09-12-at-11-09-28-PM.png)\n\n4. Add https://api.carbon.ai/integrations/onedrive and https://api.carbon.ai/integrations/sharepoint to `Redirect URI` and select `Web` under the `Select a platform` dropdown. You can also opt to use a custom CNAME record pointing to https://api.carbon.ai. The domain paths must still be `/integrations/onedrive` and `/integrations/sharepoint`.\n\n![](https://i.ibb.co/9NTZycz/Screen-Shot-2023-09-08-at-2-59-16-PM.png)\n\n5. Under `Manage` -> `API permissions` add the permissions `Files.Read.All`, `offline_access`, `openid`, and `User.Read`.\n\n![](https://i.ibb.co/VTGK90Z/Onedrive-1.png)\n\n6. Under `Client credentials`, click `Add a certificate or secret` -> `New Client Secret`. Then copy the client secret’s `Value` and share it with us via Slack.\n\n![](https://i.ibb.co/0tghs0p/Screen-Shot-2023-09-08-at-3-13-30-PM.png)\n\n7. Navigate to the `Overview` tab then copy the `Application (client) ID` and share it with us via Slack.\n\n![](https://i.ibb.co/KGWzr1H/Screen-Shot-2023-09-12-at-11-14-08-PM.png)\n\n8. Customize your app branding under `Manage` -> `Branding & properties`.\n\n![](https://i.ibb.co/HrS9Cxj/Screen-Shot-2023-09-08-at-3-24-16-PM.png)\n\n#### Setting up the File Picker UI\n\n1. Under `Azure Services`, select `App Registration` -> `New registration`.\n\n![](https://i.ibb.co/qBLpg1r/Screen-Shot-2023-09-12-at-11-09-28-PM.png)\n\n2. Select `Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` as the `Supported account types`.\n\n![](https://i.ibb.co/SPR4ztF/Screen-Shot-2023-09-08-at-2-52-56-PM.png)\n\n3. Under the `Authentication` tab, select `Add a Platform` -> `Single Page Application`. \n\n![](https://i.ibb.co/nLDdQfP/Screen-Shot-2023-09-13-at-3-03-00-PM.png)\n\n4. For the `Redirect URI` of the `Single Page Application`, you can use https://api.carbon.ai/static/loading.html or add a custom CNAME record pointing to https://api.carbon.ai. The domain path must still be `/static/loading.html`.\n\n![](https://i.ibb.co/0X5Nkz7/Screen-Shot-2023-09-13-at-3-13-53-PM.png)\n\n5. Under the `Authentciation`'s `Implicit grant and hybrid flows` section, check `Access tokens (used for implicit flows)` and `ID tokens (used for implicit and hybrid flows)`.\n\n![](https://i.ibb.co/ckVKZgV/Screen-Shot-2023-09-13-at-3-17-44-PM.png)\n\n6. Under `Manage` -> `API permissions` add the permissions `Files.Read.All`, `Sites.Read.All`, `User.Read`, `AllSites.Read`, and `MyFiles.Read`.\n\n![](https://i.ibb.co/xjtvKTg/Screen-Shot-2023-09-13-at-3-22-12-PM.png)\n\n7. Under `Client credentials`, click `Add a certificate or secret` -> `New Client Secret`. Then copy the client secret’s `Value` and share it with us via Slack.\n\n![](https://i.ibb.co/0tghs0p/Screen-Shot-2023-09-08-at-3-13-30-PM.png)\n\n8. Navigate to the `Overview` tab then copy the `Application (client) ID` and share it with us via Slack.\n\n## Functionality\n\nCarbon allows users to upload `pdf`, `docx`, `pptx`,`txt`,`csv`, `png`, `rtf`, `tsv`, `xlsx`, `jpeg` and `md` files directly from SharePoint.\n\n## Synchronization\n\nSyncs are triggered when end-users select files to upload via the SharePoint file selector UI. You can also use the `resync_file` API endpoint to programmatically resync specific SharePoint files. To delete SharePoint files from Carbon, you can use the `deletefile` endpoint directly.\n\nWe do not run our 24-hour batch sync for SharePoint by default. If you'd like us to enable batch syncs to run in the background, you can request this via Slack.\n\n# Zotero\n\nThe Carbon Connect `enabledIntegrations` value for ZOTERO is `ZOTERO`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 1.0](https://www.zotero.org/support/dev/web_api/v2/oauth)** to connect to Zotero.\n\n## Authorization Flow\n\nLog into your Zotero account. \n![](https://i.ibb.co/sgnb9xC/Screen-Shot-2023-11-06-at-12-45-31-PM.png)\n\nClick the \"Accept Defaults\" button to grant us permission to access Zotero.\n![](https://i.ibb.co/sJbyWX7/Screen-Shot-2023-11-06-at-12-43-09-PM.png)\n\nOnce clicking \"Accept Defaults\", all Zotero files are synced and you should see the following confirmation:\n![](https://i.ibb.co/HLvPWK8/Screen-Shot-2023-11-06-at-12-42-42-PM.png)\n\n## Configuration\n\n### Custom OAuth Credentials\n\n#### Setting up the OAuth App\n\n1. Create or log into your [Zotero](https://www.zotero.org/) Account.\n\n2. Click [here](https://www.zotero.org/oauth/apps) to set up your OAuth app.\n\n![](https://i.ibb.co/rs41H7N/Screen-Shot-2023-11-06-at-2-41-13-PM.png)\n\n3. Click \"Register a New Application\" and fill out the info below. Add https://api.carbon.ai/integrations/zotero as the `Callback URL`. You can also opt to use a custom CNAME record pointing to https://api.carbon.ai. The domain path must still be `/integrations/zotero`.\n\n![](https://i.ibb.co/5nBwgWT/Screen-Shot-2023-11-06-at-12-51-59-PM.png)\n\n4. Copy and share the Client Key and Client Secret with Carbon.\n\n![](https://i.ibb.co/cTkv51s/Screen-Shot-2023-11-06-at-2-46-20-PM.png)\n\n## Functionality\n\nCarbon allows users to upload `pdf`, `docx`, `pptx`,`txt`,`csv`, `png`, `rtf`, `tsv`, `xlsx`, `jpeg` and `md` files directly from Zotero.\n\n## Synchronization\n\nBy default, Carbon syncs all attachments from your Zotero library along with the accompanying info as metadata.\n\nYou can use the `resync_file` API endpoint to programmatically resync specific Zotero files. To delete Zotero files from Carbon, you can use the `deletefile` endpoint directly.\n\nWe do not run our 24-hour batch sync for Zotero by default. If you'd like us to enable batch syncs to run in the background, you can request this via Slack.\n\n# Box\n\nThe Carbon Connect `enabledIntegrations` value for Box is `BOX`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://developer.box.com/guides/authentication/oauth2/)** to connect to Box.\n\n## Authorization Flow\n\nLog into your Box account.\n\n![](https://i.ibb.co/8gGpBdg/Screen-Shot-2023-09-08-at-1-34-42-PM.png)\n\nClick the \"Select Files from Box\" button to open up the Box file selector.\n![](https://i.ibb.co/K55H1rp/Screen-Shot-2023-09-08-at-1-38-15-PM.png)\n\nClick the checkmark after selecting files to grant Carbon access to files.\n\n*Limitations*: You can currently only upload individual file(s) via Box's file selector. If you'd like the ability the upload entire folders, please reach out to us on Slack. \n\n![](https://i.ibb.co/Zz2pDPm/Screen-Shot-2023-09-08-at-1-33-30-PM.png)\n\nYou'll receive a confirmation that your file(s) has been uploaded.\n\n![](https://i.ibb.co/ZTZQw03/Screen-Shot-2023-09-08-at-2-03-48-PM.png)\n\n\n## Configuration\n\n### Custom OAuth Credentials\n\n1. Sign up for an account under [Box Developer](https://developer.box.com/).\n\n2. Go to `My Apps`, then `Create New App` -> `Choose Custom App`.\n\n![](https://i.ibb.co/cQw41M9/Screen-Shot-2023-09-08-at-2-12-34-PM.png)\n\n2. Fill out the app details in the modal that opens.\n\n![](https://i.ibb.co/TPJpqny/Screen-Shot-2023-09-08-at-2-14-32-PM.png)\n\n3. Select User Auth with OAuth 2.0 in the following step.\n\n![](https://i.ibb.co/Hr3SJJ8/Screen-Shot-2023-09-08-at-2-20-26-PM.png)\n\n4. In the `Configuration` tab copy and paste the `Client ID` and `Client Secret` and share it with us.\n\n![](https://i.ibb.co/1mm1PWM/Screen-Shot-2023-09-08-at-2-22-53-PM.png)\n\n5. Add https://api.carbon.ai/integrations/box as a `Redirect URIs` and https://api.carbon.ai as a `CORS Domains`\n\n![](https://i.ibb.co/374946D/Screen-Shot-2023-09-08-at-2-30-28-PM.png)\n![](https://i.ibb.co/HdtDqfd/Screen-Shot-2023-09-08-at-2-31-14-PM.png)\n\n7. For scopes, select `Read all files and folders stored in Box` and `Write all files and folders stored in Box`.\n\n![](https://i.ibb.co/9wRrqKX/Screen-Shot-2023-09-08-at-2-27-44-PM.png)\n\n8. In the `App Center` tab, you can edit your branding.\n\n![](https://i.ibb.co/GsHQq2g/Screen-Shot-2023-09-08-at-2-34-26-PM.png)\n\n9. Once you're ready, you can also submit your app for approval.\n\n![](https://i.ibb.co/XVg2skh/Screen-Shot-2023-09-08-at-2-37-05-PM.png)\n\n## Functionality\n\nCarbon allows users to upload `pdf`, `docx`, `pptx`,`txt`,`csv`, `png`, `rtf`, `tsv`, `xlsx`, `jpeg` and `md` files directly from Box.\n\n## Synchronization\n\nSyncs are triggered when end-users select files to upload via the Box file selector UI. You can also use the `resync_file` API endpoint to programmatically resync specific Box files. To delete Box files from Carbon, you can use the `deletefile` endpoint directly.\n\nWe do not run our 24-hour batch sync for Box by default. If you'd like us to enable batch syncs to run in the background, you can request this via Slack.\n\n\n# Zendesk\nThe Carbon Connect `enabledIntegrations` value for Zendesk is `ZENDESK`.\n\n## Authorization Type\n\nCarbon uses **[OAuth 2.0](https://developers.Zendesk.com/building-apps/docs/setting-up-oauth)** to connect to Zendesk workspaces.\n\n## Authorization Flow\n\n![](https://i.ibb.co/Zc1sh5Q/Screen-Shot-2023-09-14-at-5-25-02-PM.png)\n\n![](https://i.ibb.co/DKqsbFC/Screen-Shot-2023-09-14-at-10-40-28-AM.png)\n\n![](https://i.ibb.co/Vw6bF82/Screen-Shot-2023-09-14-at-10-37-47-AM.png)\n\n## Functionality\n\nCarbon syncs all `Published` articles under a single Zendesk workspace. Any `Draft` article won't be synced. We currently support only having a single Zendesk workspace connected per `customer_id`.\n\n## Configuration\n\n### Custom OAuth Credentials\n\n1. In Admin Center, click the `Apps and integrations` icon and then in the sidebar, select `APIs` > `Zendesk` APIs.\n\n![](https://i.ibb.co/3cXNwRj/Screen-Shot-2023-09-14-at-9-05-14-AM.png)\n\n![](https://i.ibb.co/wzvZ9jS/Screen-Shot-2023-09-13-at-5-08-26-PM.png)\n\n2. Click the `OAuth Clients` tab on the Zendesk API page, and then click `Add OAuth client` on the right side of the OAuth client list.\n\n![](https://i.ibb.co/djnzwcx/Screen-Shot-2023-09-13-at-5-06-46-PM.png)\n\n3. Complete the following fields to create a client:\n- Client Name - Enter a name for your app. This is the name that users will see when asked to grant access to your application, and when they check the list of third-party apps that have access to their Zendesk.\nDescription - Optional. This is a short description of your app that users will see when asked to grant access to it.\n- Company - Optional. This is the company name that users will see when asked to grant access to your application. The information can help them understand who they're granting access to.\n- Logo - Optional. This is the logo that users will see when asked to grant access to your application. The image can be a JPG, GIF, or PNG. For best results, upload a square image. It will be resized for the authorization page.\n- Unique Identifier - The field is auto-populated with a reformatted version of the name you entered for your app. You can change it if you want.\n- Redirect URLs - Enter https://api.carbon.ai/integrations/zendesk here. You can also opt to use a custom CNAME record pointing to https://api.carbon.ai. The domain path must still be `/integrations/zendesk`.\n\n![](https://i.ibb.co/yPqPzbD/Screen-Shot-2023-09-13-at-5-15-35-PM.png)\n\n4. Click Save. After the page refreshes, a new pre-populated Secret field appears on the lower side. This is the `client_secret` value specified in the OAuth2 spec. Send us the `client_secret` value over Slack.\n6. Copy the Secret value to your clipboard and save it somewhere safe. Note: The characters may extend past the width of the text box, so make sure to select everything before copying.\n\n![](https://i.ibb.co/Db8TQDJ/Screen-Shot-2023-09-13-at-5-21-34-PM.png)\n\n7. Copy the `Unique Identifier` of the OAuth app and share that value over Slack as well.\n8. In order for us to white-label your OAuth app, you need to request approval first to convert the app from a **local OAuth client** to **global OAuth client**. You can follow the instructions [here](https://developer.zendesk.com/documentation/marketplace/building-a-marketplace-app/set-up-a-global-oauth-client) to do so.\n\n## Synchronization\n\nSyncs are triggered when end-users add or remove pages via the Zendesk OAuth flow. You can use the `resync_file` API endpoint to programmatically resync specific Zendesk files.\n\nIn addition, we have a 24-hour batch sync running in the background. You can request us via Slack to run more frequent batch syncs.\n\n# Slack\n# Confluence\n"},{"name":"Integrations","description":"\nEmploy these endpoints when syncing files from external data sources outside of Carbon Connect.\n"},{"name":"Utilities","description":"\n---\nLeverage these `Utilities` endpoints to execute a wide range of helpful actions, including initiating web scraping, processing sitemaps, retrieving URLs from a specific webpage, obtaining relevant URLs based on a search query, fetching YouTube video transcripts, and many other functionalities.\n"},{"name":"Webhooks","description":"\n---\nCarbon offers a set of webhooks for a variety of events, listed below. Currently, there is no way to choose\nwhich events to receive webhooks for - it's on our roadmap to allow for more fine-grained filtering. The steps\nin setting up webhooks for your service are:\n1. Add a URL to which webhoooks should be sent. This can be done using the `/add_webhook` endpoint.\n2. Save the `signing_key` in the response somewhere safe - this can't be retrieved again.\n\nAt this point, all events will be sent to the URL specified in step 1. An event - sent via an HTTP POST\nrequest - contains two important elements, a `Carbon-Signature` header and a body with a single key-value pair.\nYou can validate the authenticity and integrity of the webhook by calculating its signature. To do this, you should:\n1. Extract the timestamp and signature.\n 1. Extract the timestamp and signature from the `Carbon-Signature` header. It will be of the form\n`Carbon-Signature:t=1492774577,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd`.\n 2. For those using JavaScript and decoding the request json via `JSON.stringify`, we suggest using the `Carbon-Signature-Compact`\nheader instead. It will have the form `Carbon-Signature:t=1492774577,v2=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd`.\n2. Create a string of the form `{timestamp}.{request_body}`, where `request_body` is the entire request body.\nNote that all values in the webhook request body are coerced to strings - this is *intentional*.\n 1. If using `Carbon-Signature`, you can use `request_body` as is, or you can decode it as json. When decoding, ensure that the \nresulting json is formatted *exactly* as it is in `request_body`. In other words, the json should look like:\n```\n{\"x\": 5, \"y\": 6}\n```\n 2. If using `Carbon-Signature-V2`, when decoding the request body, ensure that the resulting json is in compact form, where there \nare no spaces between key-value pairs or between keys and values. For example,\n```\n{\"x\":5,\"y\":6}\n```\nGiven a request body, `x`, you can do this in Python via `json.dumps(x, separators=[\",\", \":\"])` or in JavaScript via `JSON.stringify(x)`.\n3. Compute an HMAC of the above string with the SHA256 hash function. Use `signing_key` obtained from the `/add_webhook` endpoint as the key.\n4. Compare the computed signature with the signature in the header (the value that `v1` - or `v2` - is equal to). If they're identical,\nyou can be assured that the webhook is both genuine and hasn't been tampered with.\n\nOnce you receive and handle the webhook, you should respond to the POST request with a 200 status - otherwise the webhook\nwill be retried (up to three times).\n\n### Webhooks for File Processing\n\nWe currently support the following webhook events for file processing:\n1. `FILE_READY`\n - Sent after a file has been fully processed and added to Carbon.\n2. `FILE_ERROR`\n - Sent if there was an error during the file processing stage. If an error occurred, the file is requeued for reprocessing\n up to three times.\n3. `FILE_DELETED`\n - Sent if a file has been successfully deleted.\n4. `FILES_CREATED`\n - Sent if files are being synced for the first time.\n5. `UPLOAD_ALL_QUEUED`\n - Sent when all files and folders in a uploaded batch have been queued for processing.\n6. `RATE_LIMIT_ERROR`\n - Sent if the organization has reached the rate limit for file processing. In this case, the file is requeued for reprocessing\n up to three times.\n\nThese are sent *after* a file has been processed.\n\n### Webhooks for Data Sources\n\nWe currently support the following webhook events for managing user connections to data sources:\n\n1. `ADD` \n - This event is fired when a user authenticates their account for a specific data source for the first time.\n\n2. `UPDATE` \n - This event is fired when a user selects one or more files for a particular data source. This event is fired once per file selection confirmation, regardless of how many files are selected.\n\n3. `CANCEL` \n - This event is fired when a user cancels the authentication flow. It's important to note that this event cannot capture tab-close events, so directly closing a tab is not within our tracking capabilities.\n\n4. `REVOKE`\n - This event is triggered when a user's data source connection is revoked via the `/revoke_access_token` endpoint.\n\nAn organization is allowed up to *3* webhook URLs. To delete an existing URL, you can use the `/delete_webhook` endpoint.\nTo view all existing webhooks, use the `/webhooks` endpoint.\n\nAll webhook payloads have the form\n```\n{\n \"payload\": str\n}\n```\nThe value of `payload` (which is a stringified json object) will always have the form\n```\n{\n \"webhook_type\": WebhookType,\n \"obj\": {\n \"object_type\": WebhookObjectType,\n \"object_id\": str,\n \"additional_information\": dict[str, str] | str\n },\n \"timestamp\": str\n}\n```\nNote that `WebhookType` is one of the webhook events described above. `WebhookObjectType` is limited to `FILE` currently.\n`additional_information` is always a dictionary of string-string key-value pairs, unless it's empty, in which case it is\nthe string value \"null\". Finally, `timestamp` is an int POSIX timestamp as a string. Note that to use `object_id` in\nsubsequent API requests, you'll likely need to convert it to an int.\n"},{"name":"Contact Us","description":"\n---\n### 💬 We're here to help!\n\nIt’s our mandate to deliver a delightful experience and answer any questions you might have. This documentation is meant to help get you started but isn't the only resource you have! \n\nPlease don't hesitate to email us at [support@carbon.ai](mailto:support@carbon.ai) or reach out directly to your account manager.\n\nOur terms of service can be found here: [terms of service](https://carbon.ai/terms)\n\nWe're excited you're here!\n"}],"webhooks":{"Webhook":{"post":{"tags":["Webhooks"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentWebhookRequestBody"}}}},"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}}}}}}