Class: Carbon::IntegrationsApi

Inherits:
Object
  • Object
show all
Defined in:
lib/carbon_ruby_sdk/api/integrations_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ IntegrationsApi

Returns a new instance of IntegrationsApi.



15
16
17
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 15

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



13
14
15
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 13

def api_client
  @api_client
end

Instance Method Details

#cancel(data_source_id:, extra: {}) ⇒ Object

Cancel Data Source Items Sync

Parameters:

  • data_source_id (Integer)
  • body (SyncDirectoryRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



24
25
26
27
28
29
30
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 24

def cancel(data_source_id:, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  sync_directory_request = _body
  api_response = cancel_with_http_info_impl(sync_directory_request, extra)
  api_response.data
end

#cancel_with_http_info(data_source_id:, extra: {}) ⇒ Object

Cancel Data Source Items Sync

Parameters:

  • data_source_id (Integer)
  • body (SyncDirectoryRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



37
38
39
40
41
42
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 37

def cancel_with_http_info(data_source_id:, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  sync_directory_request = _body
  cancel_with_http_info_impl(sync_directory_request, extra)
end

#connect_data_source(authentication:, sync_options: SENTINEL, extra: {}) ⇒ Object

Connect Data Source

Parameters:



117
118
119
120
121
122
123
124
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 117

def connect_data_source(authentication:, sync_options: SENTINEL, extra: {})
  _body = {}
  _body[:authentication] = authentication if authentication != SENTINEL
  _body[:sync_options] = sync_options if sync_options != SENTINEL
  connect_data_source_input = _body
  api_response = connect_data_source_with_http_info_impl(connect_data_source_input, extra)
  api_response.data
end

#connect_data_source_with_http_info(authentication:, sync_options: SENTINEL, extra: {}) ⇒ Object

Connect Data Source

Parameters:



132
133
134
135
136
137
138
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 132

def connect_data_source_with_http_info(authentication:, sync_options: SENTINEL, extra: {})
  _body = {}
  _body[:authentication] = authentication if authentication != SENTINEL
  _body[:sync_options] = sync_options if sync_options != SENTINEL
  connect_data_source_input = _body
  connect_data_source_with_http_info_impl(connect_data_source_input, extra)
end

#connect_document360(account_email:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Document360 Connect

You will need an access token to connect your Document360 account. To obtain an access token, follow the steps highlighted here apidocs.document360.com/apidocs/api-token.

Parameters:

  • account_email (String)

    This email will be used to identify your carbon data source. It should have access to the Document360 account you wish to connect.

  • access_token (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (Document360ConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 228

def connect_document360(account_email:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:account_email] =  if  != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  document360_connect_request = _body
  api_response = connect_document360_with_http_info_impl(document360_connect_request, extra)
  api_response.data
end

#connect_document360_with_http_info(account_email:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Document360 Connect

You will need an access token to connect your Document360 account. To obtain an access token, follow the steps highlighted here apidocs.document360.com/apidocs/api-token.

Parameters:

  • account_email (String)

    This email will be used to identify your carbon data source. It should have access to the Document360 account you wish to connect.

  • access_token (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (Document360ConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 270

def connect_document360_with_http_info(account_email:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:account_email] =  if  != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  document360_connect_request = _body
  connect_document360_with_http_info_impl(document360_connect_request, extra)
end

#connect_freshdesk(domain:, api_key:, tags: SENTINEL, 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, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Freshdesk Connect

Refer this article to obtain an API key support.freshdesk.com/en/support/solutions/articles/215517. Make sure that your API key has the permission to read solutions from your account and you are on a paid plan. Once you have an API key, you can make a request to this endpoint along with your freshdesk domain. This will trigger an automatic sync of the articles in your “solutions” tab. Additional parameters below can be used to associate data with the synced articles or modify the sync behavior.

Parameters:

  • domain (String)
  • api_key (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (FreshDeskConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 383

def connect_freshdesk(domain:, api_key:, tags: SENTINEL, 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, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:domain] = domain if domain != SENTINEL
  _body[:api_key] = api_key if api_key != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  fresh_desk_connect_request = _body
  api_response = connect_freshdesk_with_http_info_impl(fresh_desk_connect_request, extra)
  api_response.data
end

#connect_freshdesk_with_http_info(domain:, api_key:, tags: SENTINEL, 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, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Freshdesk Connect

Refer this article to obtain an API key support.freshdesk.com/en/support/solutions/articles/215517. Make sure that your API key has the permission to read solutions from your account and you are on a paid plan. Once you have an API key, you can make a request to this endpoint along with your freshdesk domain. This will trigger an automatic sync of the articles in your “solutions” tab. Additional parameters below can be used to associate data with the synced articles or modify the sync behavior.

Parameters:

  • domain (String)
  • api_key (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (FreshDeskConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 428

def connect_freshdesk_with_http_info(domain:, api_key:, tags: SENTINEL, 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, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:domain] = domain if domain != SENTINEL
  _body[:api_key] = api_key if api_key != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  fresh_desk_connect_request = _body
  connect_freshdesk_with_http_info_impl(fresh_desk_connect_request, extra)
end

#connect_gitbook(organization:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Gitbook Connect

You will need an access token to connect your Gitbook account. Note that the permissions will be defined by the user generating access token so make sure you have the permission to access spaces you will be syncing. Refer this article for more details developer.gitbook.com/gitbook-api/authentication. Additionally, you need to specify the name of organization you will be syncing data from.

Parameters:

  • organization (String)
  • access_token (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (GitbookConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 540

def connect_gitbook(organization:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:organization] = organization if organization != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  gitbook_connect_request = _body
  api_response = connect_gitbook_with_http_info_impl(gitbook_connect_request, extra)
  api_response.data
end

#connect_gitbook_with_http_info(organization:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Gitbook Connect

You will need an access token to connect your Gitbook account. Note that the permissions will be defined by the user generating access token so make sure you have the permission to access spaces you will be syncing. Refer this article for more details developer.gitbook.com/gitbook-api/authentication. Additionally, you need to specify the name of organization you will be syncing data from.

Parameters:

  • organization (String)
  • access_token (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (GitbookConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 584

def connect_gitbook_with_http_info(organization:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:organization] = organization if organization != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  gitbook_connect_request = _body
  connect_gitbook_with_http_info_impl(gitbook_connect_request, extra)
end

#connect_guru(username:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Guru Connect

You will need an access token to connect your Guru account. To obtain an access token, follow the steps highlighted here help.getguru.com/docs/gurus-api#obtaining-a-user-token. The username should be your Guru username.

Parameters:

  • username (String)
  • access_token (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (GuruConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 694

def connect_guru(username:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:username] = username if username != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  guru_connect_request = _body
  api_response = connect_guru_with_http_info_impl(guru_connect_request, extra)
  api_response.data
end

#connect_guru_with_http_info(username:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Guru Connect

You will need an access token to connect your Guru account. To obtain an access token, follow the steps highlighted here help.getguru.com/docs/gurus-api#obtaining-a-user-token. The username should be your Guru username.

Parameters:

  • username (String)
  • access_token (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • sync_files_on_connection (Boolean) (defaults to: true)
  • request_id (String) (defaults to: SENTINEL)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (GuruConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 736

def connect_guru_with_http_info(username:, access_token:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, sync_files_on_connection: true, request_id: SENTINEL, sync_source_items: true, file_sync_config: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:username] = username if username != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  guru_connect_request = _body
  connect_guru_with_http_info_impl(guru_connect_request, extra)
end

#create_aws_iam_user(access_key:, access_key_secret:, sync_source_items: true, endpoint_url: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

S3 Auth

This endpoint can be used to connect S3 as well as Digital Ocean Spaces (S3 compatible)

For S3, create a new IAM user with permissions to: <ol> <li>List all buckets.</li> <li>Read from the specific buckets and objects to sync with Carbon. Ensure any future buckets or objects carry the same permissions.</li> </ol> Once created, generate an access key for this user and share the credentials with us. We recommend testing this key beforehand.

For Digital Ocean Spaces, generate the above credentials in your Applications and API page here cloud.digitalocean.com/account/api/spaces. Endpoint URL is required to connect Digital Ocean Spaces. It should look like <<region>>.digitaloceanspaces.com

Parameters:

  • access_key (String)
  • access_key_secret (String)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • endpoint_url (String) (defaults to: SENTINEL)

    You can specify a Digital Ocean endpoint URL to connect a Digital Ocean Space through this endpoint. The URL should be of format <region>.digitaloceanspaces.com. It’s not required for S3 buckets.

  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (S3AuthRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



845
846
847
848
849
850
851
852
853
854
855
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 845

def create_aws_iam_user(access_key:, access_key_secret:, sync_source_items: true, endpoint_url: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:access_key] = access_key if access_key != SENTINEL
  _body[:access_key_secret] = access_key_secret if access_key_secret != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:endpoint_url] = endpoint_url if endpoint_url != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  s3_auth_request = _body
  api_response = create_aws_iam_user_with_http_info_impl(s3_auth_request, extra)
  api_response.data
end

#create_aws_iam_user_with_http_info(access_key:, access_key_secret:, sync_source_items: true, endpoint_url: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

S3 Auth

This endpoint can be used to connect S3 as well as Digital Ocean Spaces (S3 compatible)

For S3, create a new IAM user with permissions to: <ol> <li>List all buckets.</li> <li>Read from the specific buckets and objects to sync with Carbon. Ensure any future buckets or objects carry the same permissions.</li> </ol> Once created, generate an access key for this user and share the credentials with us. We recommend testing this key beforehand.

For Digital Ocean Spaces, generate the above credentials in your Applications and API page here cloud.digitalocean.com/account/api/spaces. Endpoint URL is required to connect Digital Ocean Spaces. It should look like <<region>>.digitaloceanspaces.com

Parameters:

  • access_key (String)
  • access_key_secret (String)
  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • endpoint_url (String) (defaults to: SENTINEL)

    You can specify a Digital Ocean endpoint URL to connect a Digital Ocean Space through this endpoint. The URL should be of format <region>.digitaloceanspaces.com. It’s not required for S3 buckets.

  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (S3AuthRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



877
878
879
880
881
882
883
884
885
886
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 877

def create_aws_iam_user_with_http_info(access_key:, access_key_secret:, sync_source_items: true, endpoint_url: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:access_key] = access_key if access_key != SENTINEL
  _body[:access_key_secret] = access_key_secret if access_key_secret != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:endpoint_url] = endpoint_url if endpoint_url != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  s3_auth_request = _body
  create_aws_iam_user_with_http_info_impl(s3_auth_request, extra)
end

#get_oauth_url(service:, tags: SENTINEL, scope: SENTINEL, scopes: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, automatically_open_file_picker: SENTINEL, gong_account_email: SENTINEL, servicenow_credentials: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Get Oauth Url

This endpoint can be used to generate the following URLs

  • An OAuth URL for OAuth based connectors

  • A file syncing URL which skips the OAuth flow if the user already has a valid access token and takes them to the

success state.

Parameters:

  • service (OauthBasedConnectors)
  • tags (Object) (defaults to: SENTINEL)
  • scope (String) (defaults to: SENTINEL)
  • scopes (Array<String>) (defaults to: SENTINEL)

    List of scopes to request from the OAuth provider. Please that the scopes will be used as it is, not combined with the default props that Carbon uses. One scope should be one array element.

  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • zendesk_subdomain (String) (defaults to: SENTINEL)
  • microsoft_tenant (String) (defaults to: SENTINEL)
  • sharepoint_site_name (String) (defaults to: SENTINEL)
  • confluence_subdomain (String) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • salesforce_domain (String) (defaults to: SENTINEL)
  • sync_files_on_connection (Boolean) (defaults to: true)

    Used to specify whether Carbon should attempt to sync all your files automatically when authorization is complete. This is only supported for a subset of connectors and will be ignored for the rest. Supported connectors: Intercom, Zendesk, Gitbook, Confluence, Salesforce, Freshdesk

  • set_page_as_boundary (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)

    Used to specify a data source to sync from if you have multiple connected. It can be skipped if you only have one data source of that type connected or are connecting a new account.

  • connecting_new_account (Boolean) (defaults to: false)

    Used to connect a new data source. If not specified, we will attempt to create a sync URL for an existing data source based on type and ID.

  • request_id (String) (defaults to: SENTINEL)

    This request id will be added to all files that get synced using the generated OAuth URL

  • use_ocr (Boolean) (defaults to: false)

    Enable OCR for files that support it. Supported formats: pdf, png, jpg

  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • enable_file_picker (Boolean) (defaults to: true)

    Enable integration’s file picker for sources that support it. Supported sources: BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT

  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • incremental_sync (Boolean) (defaults to: false)

    Only sync files if they have not already been synced or if the embedding properties have changed. 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.

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • automatically_open_file_picker (Boolean) (defaults to: SENTINEL)

    Automatically open source file picker after the OAuth flow is complete. This flag is currently supported by BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT. It will be ignored for other data sources.

  • gong_account_email (String) (defaults to: SENTINEL)

    If you are connecting a Gong account, you need to input the email of the account you wish to connect. This email will be used to identify your carbon data source.

  • servicenow_credentials (ServiceNowCredentialsNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (OAuthURLRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 997

def get_oauth_url(service:, tags: SENTINEL, scope: SENTINEL, scopes: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, automatically_open_file_picker: SENTINEL, gong_account_email: SENTINEL, servicenow_credentials: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:scope] = scope if scope != SENTINEL
  _body[:scopes] = scopes if scopes != SENTINEL
  _body[:service] = service if service != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:zendesk_subdomain] = zendesk_subdomain if zendesk_subdomain != SENTINEL
  _body[:microsoft_tenant] = microsoft_tenant if microsoft_tenant != SENTINEL
  _body[:sharepoint_site_name] = sharepoint_site_name if sharepoint_site_name != SENTINEL
  _body[:confluence_subdomain] = confluence_subdomain if confluence_subdomain != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:salesforce_domain] = salesforce_domain if salesforce_domain != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:connecting_new_account] =  if  != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:enable_file_picker] = enable_file_picker if enable_file_picker != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:automatically_open_file_picker] = automatically_open_file_picker if automatically_open_file_picker != SENTINEL
  _body[:gong_account_email] =  if  != SENTINEL
  _body[:servicenow_credentials] = servicenow_credentials if servicenow_credentials != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  o_auth_url_request = _body
  api_response = get_oauth_url_with_http_info_impl(o_auth_url_request, extra)
  api_response.data
end

#get_oauth_url_with_http_info(service:, tags: SENTINEL, scope: SENTINEL, scopes: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, automatically_open_file_picker: SENTINEL, gong_account_email: SENTINEL, servicenow_credentials: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Get Oauth Url

This endpoint can be used to generate the following URLs

  • An OAuth URL for OAuth based connectors

  • A file syncing URL which skips the OAuth flow if the user already has a valid access token and takes them to the

success state.

Parameters:

  • service (OauthBasedConnectors)
  • tags (Object) (defaults to: SENTINEL)
  • scope (String) (defaults to: SENTINEL)
  • scopes (Array<String>) (defaults to: SENTINEL)

    List of scopes to request from the OAuth provider. Please that the scopes will be used as it is, not combined with the default props that Carbon uses. One scope should be one array element.

  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • zendesk_subdomain (String) (defaults to: SENTINEL)
  • microsoft_tenant (String) (defaults to: SENTINEL)
  • sharepoint_site_name (String) (defaults to: SENTINEL)
  • confluence_subdomain (String) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • salesforce_domain (String) (defaults to: SENTINEL)
  • sync_files_on_connection (Boolean) (defaults to: true)

    Used to specify whether Carbon should attempt to sync all your files automatically when authorization is complete. This is only supported for a subset of connectors and will be ignored for the rest. Supported connectors: Intercom, Zendesk, Gitbook, Confluence, Salesforce, Freshdesk

  • set_page_as_boundary (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)

    Used to specify a data source to sync from if you have multiple connected. It can be skipped if you only have one data source of that type connected or are connecting a new account.

  • connecting_new_account (Boolean) (defaults to: false)

    Used to connect a new data source. If not specified, we will attempt to create a sync URL for an existing data source based on type and ID.

  • request_id (String) (defaults to: SENTINEL)

    This request id will be added to all files that get synced using the generated OAuth URL

  • use_ocr (Boolean) (defaults to: false)

    Enable OCR for files that support it. Supported formats: pdf, png, jpg

  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • enable_file_picker (Boolean) (defaults to: true)

    Enable integration’s file picker for sources that support it. Supported sources: BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT

  • sync_source_items (Boolean) (defaults to: true)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • incremental_sync (Boolean) (defaults to: false)

    Only sync files if they have not already been synced or if the embedding properties have changed. 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.

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • automatically_open_file_picker (Boolean) (defaults to: SENTINEL)

    Automatically open source file picker after the OAuth flow is complete. This flag is currently supported by BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT. It will be ignored for other data sources.

  • gong_account_email (String) (defaults to: SENTINEL)

    If you are connecting a Gong account, you need to input the email of the account you wish to connect. This email will be used to identify your carbon data source.

  • servicenow_credentials (ServiceNowCredentialsNullable) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (OAuthURLRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1075

def get_oauth_url_with_http_info(service:, tags: SENTINEL, scope: SENTINEL, scopes: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, automatically_open_file_picker: SENTINEL, gong_account_email: SENTINEL, servicenow_credentials: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:scope] = scope if scope != SENTINEL
  _body[:scopes] = scopes if scopes != SENTINEL
  _body[:service] = service if service != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:zendesk_subdomain] = zendesk_subdomain if zendesk_subdomain != SENTINEL
  _body[:microsoft_tenant] = microsoft_tenant if microsoft_tenant != SENTINEL
  _body[:sharepoint_site_name] = sharepoint_site_name if sharepoint_site_name != SENTINEL
  _body[:confluence_subdomain] = confluence_subdomain if confluence_subdomain != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:salesforce_domain] = salesforce_domain if salesforce_domain != SENTINEL
  _body[:sync_files_on_connection] = sync_files_on_connection if sync_files_on_connection != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:connecting_new_account] =  if  != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:enable_file_picker] = enable_file_picker if enable_file_picker != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:automatically_open_file_picker] = automatically_open_file_picker if automatically_open_file_picker != SENTINEL
  _body[:gong_account_email] =  if  != SENTINEL
  _body[:servicenow_credentials] = servicenow_credentials if servicenow_credentials != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  o_auth_url_request = _body
  get_oauth_url_with_http_info_impl(o_auth_url_request, extra)
end

#list_confluence_pages(data_source_id:, parent_id: SENTINEL, extra: {}) ⇒ Object

Confluence List

This endpoint has been deprecated. Use /integrations/items/list instead.

To begin listing a user’s Confluence pages, at least a ‘data_source_id` of a connected Confluence account must be specified. This base request returns a list of root pages for every space the user has access to in a Confluence instance. To traverse further down the user’s page directory, additional requests to this endpoint can be made with the same ‘data_source_id` and with `parent_id` set to the id of page from a previous request. For convenience, the `has_children` property in each directory item in the response list will flag which pages will return non-empty lists of pages when set as the `parent_id`.

Parameters:

  • data_source_id (Integer)
  • parent_id (String) (defaults to: SENTINEL)
  • body (ListRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1197
1198
1199
1200
1201
1202
1203
1204
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1197

def list_confluence_pages(data_source_id:, parent_id: SENTINEL, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:parent_id] = parent_id if parent_id != SENTINEL
  list_request = _body
  api_response = list_confluence_pages_with_http_info_impl(list_request, extra)
  api_response.data
end

#list_confluence_pages_with_http_info(data_source_id:, parent_id: SENTINEL, extra: {}) ⇒ Object

Confluence List

This endpoint has been deprecated. Use /integrations/items/list instead.

To begin listing a user’s Confluence pages, at least a ‘data_source_id` of a connected Confluence account must be specified. This base request returns a list of root pages for every space the user has access to in a Confluence instance. To traverse further down the user’s page directory, additional requests to this endpoint can be made with the same ‘data_source_id` and with `parent_id` set to the id of page from a previous request. For convenience, the `has_children` property in each directory item in the response list will flag which pages will return non-empty lists of pages when set as the `parent_id`.

Parameters:

  • data_source_id (Integer)
  • parent_id (String) (defaults to: SENTINEL)
  • body (ListRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1222
1223
1224
1225
1226
1227
1228
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1222

def list_confluence_pages_with_http_info(data_source_id:, parent_id: SENTINEL, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:parent_id] = parent_id if parent_id != SENTINEL
  list_request = _body
  list_confluence_pages_with_http_info_impl(list_request, extra)
end

#list_conversations(types: 'public_channel', cursor: SENTINEL, data_source_id: SENTINEL, exclude_archived: true, extra: {}) ⇒ Object

Slack List Conversations

List all of your public and private channels, DMs, and Group DMs. The ID from response can be used as a filter to sync messages to Carbon

types: Comma separated list of types. Available types are im (DMs), mpim (group DMs), public_channel, and private_channel. Defaults to public_channel.

cursor: Used for pagination. If next_cursor is returned in response, you need to pass it as the cursor in the next request

data_source_id: Data source needs to be specified if you have linked multiple slack accounts

exclude_archived: Should archived conversations be excluded, defaults to true

Parameters:

  • types (String) (defaults to: 'public_channel')
  • cursor (String) (defaults to: SENTINEL)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • exclude_archived (Boolean) (defaults to: true)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1314
1315
1316
1317
1318
1319
1320
1321
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1314

def list_conversations(types: 'public_channel', cursor: SENTINEL, data_source_id: SENTINEL, exclude_archived: true, extra: {})
  extra[:types] = types if types != SENTINEL
  extra[:cursor] = cursor if cursor != SENTINEL
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  extra[:exclude_archived] = exclude_archived if exclude_archived != SENTINEL
  api_response = list_conversations_with_http_info_impl(extra)
  api_response.data
end

#list_conversations_with_http_info(types: 'public_channel', cursor: SENTINEL, data_source_id: SENTINEL, exclude_archived: true, extra: {}) ⇒ Object

Slack List Conversations

List all of your public and private channels, DMs, and Group DMs. The ID from response can be used as a filter to sync messages to Carbon

types: Comma separated list of types. Available types are im (DMs), mpim (group DMs), public_channel, and private_channel. Defaults to public_channel.

cursor: Used for pagination. If next_cursor is returned in response, you need to pass it as the cursor in the next request

data_source_id: Data source needs to be specified if you have linked multiple slack accounts

exclude_archived: Should archived conversations be excluded, defaults to true

Parameters:

  • types (String) (defaults to: 'public_channel')
  • cursor (String) (defaults to: SENTINEL)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • exclude_archived (Boolean) (defaults to: true)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1338
1339
1340
1341
1342
1343
1344
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1338

def list_conversations_with_http_info(types: 'public_channel', cursor: SENTINEL, data_source_id: SENTINEL, exclude_archived: true, extra: {})
  extra[:types] = types if types != SENTINEL
  extra[:cursor] = cursor if cursor != SENTINEL
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  extra[:exclude_archived] = exclude_archived if exclude_archived != SENTINEL
  list_conversations_with_http_info_impl(extra)
end

#list_data_source_items(data_source_id:, parent_id: SENTINEL, filters: SENTINEL, pagination: SENTINEL, order_by: SENTINEL, order_dir: SENTINEL, extra: {}) ⇒ Object

List Data Source Items

Parameters:



1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1426

def list_data_source_items(data_source_id:, parent_id: SENTINEL, filters: SENTINEL, pagination: SENTINEL, order_by: SENTINEL, order_dir: SENTINEL, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:parent_id] = parent_id if parent_id != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:pagination] = pagination if pagination != SENTINEL
  _body[:order_by] = order_by if order_by != SENTINEL
  _body[:order_dir] = order_dir if order_dir != SENTINEL
  list_data_source_items_request = _body
  api_response = list_data_source_items_with_http_info_impl(list_data_source_items_request, extra)
  api_response.data
end

#list_data_source_items_with_http_info(data_source_id:, parent_id: SENTINEL, filters: SENTINEL, pagination: SENTINEL, order_by: SENTINEL, order_dir: SENTINEL, extra: {}) ⇒ Object

List Data Source Items

Parameters:



1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1449

def list_data_source_items_with_http_info(data_source_id:, parent_id: SENTINEL, filters: SENTINEL, pagination: SENTINEL, order_by: SENTINEL, order_dir: SENTINEL, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:parent_id] = parent_id if parent_id != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:pagination] = pagination if pagination != SENTINEL
  _body[:order_by] = order_by if order_by != SENTINEL
  _body[:order_dir] = order_dir if order_dir != SENTINEL
  list_data_source_items_request = _body
  list_data_source_items_with_http_info_impl(list_data_source_items_request, extra)
end

#list_folders(data_source_id: SENTINEL, extra: {}) ⇒ Object

Outlook Folders

After connecting your Outlook account, you can use this endpoint to list all of your folders on outlook. This includes both system folders like “inbox” and user created folders.

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1535
1536
1537
1538
1539
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1535

def list_folders(data_source_id: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  api_response = list_folders_with_http_info_impl(extra)
  api_response.data
end

#list_folders_with_http_info(data_source_id: SENTINEL, extra: {}) ⇒ Object

Outlook Folders

After connecting your Outlook account, you can use this endpoint to list all of your folders on outlook. This includes both system folders like “inbox” and user created folders.

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1548
1549
1550
1551
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1548

def list_folders_with_http_info(data_source_id: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  list_folders_with_http_info_impl(extra)
end

#list_gitbook_spaces(data_source_id:, extra: {}) ⇒ Object

Gitbook Spaces

After connecting your Gitbook account, you can use this endpoint to list all of your spaces under current organization.

Parameters:

  • data_source_id (Integer)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1620
1621
1622
1623
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1620

def list_gitbook_spaces(data_source_id:, extra: {})
  api_response = list_gitbook_spaces_with_http_info_impl(data_source_id, extra)
  api_response.data
end

#list_gitbook_spaces_with_http_info(data_source_id:, extra: {}) ⇒ Object

Gitbook Spaces

After connecting your Gitbook account, you can use this endpoint to list all of your spaces under current organization.

Parameters:

  • data_source_id (Integer)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1631
1632
1633
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1631

def list_gitbook_spaces_with_http_info(data_source_id:, extra: {})
  list_gitbook_spaces_with_http_info_impl(data_source_id, extra)
end

#list_labels(data_source_id: SENTINEL, extra: {}) ⇒ Object

Gmail Labels

After connecting your Gmail account, you can use this endpoint to list all of your labels. User created labels will have the type “user” and Gmail’s default labels will have the type “system”

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1707
1708
1709
1710
1711
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1707

def list_labels(data_source_id: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  api_response = list_labels_with_http_info_impl(extra)
  api_response.data
end

#list_labels_with_http_info(data_source_id: SENTINEL, extra: {}) ⇒ Object

Gmail Labels

After connecting your Gmail account, you can use this endpoint to list all of your labels. User created labels will have the type “user” and Gmail’s default labels will have the type “system”

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1720
1721
1722
1723
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1720

def list_labels_with_http_info(data_source_id: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  list_labels_with_http_info_impl(extra)
end

#list_outlook_categories(data_source_id: SENTINEL, extra: {}) ⇒ Object

Outlook Categories

After connecting your Outlook account, you can use this endpoint to list all of your categories on outlook. We currently support listing up to 250 categories.

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1793
1794
1795
1796
1797
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1793

def list_outlook_categories(data_source_id: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  api_response = list_outlook_categories_with_http_info_impl(extra)
  api_response.data
end

#list_outlook_categories_with_http_info(data_source_id: SENTINEL, extra: {}) ⇒ Object

Outlook Categories

After connecting your Outlook account, you can use this endpoint to list all of your categories on outlook. We currently support listing up to 250 categories.

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1806
1807
1808
1809
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1806

def list_outlook_categories_with_http_info(data_source_id: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  list_outlook_categories_with_http_info_impl(extra)
end

#list_repos(per_page: 30, page: 1, data_source_id: SENTINEL, extra: {}) ⇒ Object

Github List Repos

Once you have connected your GitHub account, you can use this endpoint to list the

repositories your account has access to. You can use a data source ID or username to fetch from a specific account.

Parameters:

  • per_page (Integer) (defaults to: 30)
  • page (Integer) (defaults to: 1)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1881
1882
1883
1884
1885
1886
1887
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1881

def list_repos(per_page: 30, page: 1, data_source_id: SENTINEL, extra: {})
  extra[:per_page] = per_page if per_page != SENTINEL
  extra[:page] = page if page != SENTINEL
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  api_response = list_repos_with_http_info_impl(extra)
  api_response.data
end

#list_repos_with_http_info(per_page: 30, page: 1, data_source_id: SENTINEL, extra: {}) ⇒ Object

Github List Repos

Once you have connected your GitHub account, you can use this endpoint to list the

repositories your account has access to. You can use a data source ID or username to fetch from a specific account.

Parameters:

  • per_page (Integer) (defaults to: 30)
  • page (Integer) (defaults to: 1)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1898
1899
1900
1901
1902
1903
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1898

def list_repos_with_http_info(per_page: 30, page: 1, data_source_id: SENTINEL, extra: {})
  extra[:per_page] = per_page if per_page != SENTINEL
  extra[:page] = page if page != SENTINEL
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  list_repos_with_http_info_impl(extra)
end

#list_sharepoint_sites(data_source_id: SENTINEL, cursor: SENTINEL, extra: {}) ⇒ Object

List Sharepoint Sites

List all Sharepoint sites in the connected tenant. The site names from the response can be used as the site name when connecting a Sharepoint site. If site name is null in the response, then site name should be left null when connecting to the site.

This endpoint requires an additional Sharepoint scope: “Sites.Read.All”. Include this scope along with the default Sharepoint scopes to list Sharepoint sites, connect to a site, and finally sync files from the site. The default Sharepoint 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].

data_soure_id: Data source needs to be specified if you have linked multiple Sharepoint accounts cursor: Used for pagination. If next_cursor is returned in response, you need to pass it as the cursor in the next request

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • cursor (String) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



1988
1989
1990
1991
1992
1993
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 1988

def list_sharepoint_sites(data_source_id: SENTINEL, cursor: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  extra[:cursor] = cursor if cursor != SENTINEL
  api_response = list_sharepoint_sites_with_http_info_impl(extra)
  api_response.data
end

#list_sharepoint_sites_with_http_info(data_source_id: SENTINEL, cursor: SENTINEL, extra: {}) ⇒ Object

List Sharepoint Sites

List all Sharepoint sites in the connected tenant. The site names from the response can be used as the site name when connecting a Sharepoint site. If site name is null in the response, then site name should be left null when connecting to the site.

This endpoint requires an additional Sharepoint scope: “Sites.Read.All”. Include this scope along with the default Sharepoint scopes to list Sharepoint sites, connect to a site, and finally sync files from the site. The default Sharepoint 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].

data_soure_id: Data source needs to be specified if you have linked multiple Sharepoint accounts cursor: Used for pagination. If next_cursor is returned in response, you need to pass it as the cursor in the next request

Parameters:

  • data_source_id (Integer) (defaults to: SENTINEL)
  • cursor (String) (defaults to: SENTINEL)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2011
2012
2013
2014
2015
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2011

def list_sharepoint_sites_with_http_info(data_source_id: SENTINEL, cursor: SENTINEL, extra: {})
  extra[:data_source_id] = data_source_id if data_source_id != SENTINEL
  extra[:cursor] = cursor if cursor != SENTINEL
  list_sharepoint_sites_with_http_info_impl(extra)
end

#sync_azure_blob_files(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Azure Blob Files

After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name and file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate data with the selected items or modify the sync behavior

Parameters:

  • ids (Array<AzureBlobGetFileInput>)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (AzureBlobFileSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2104

def sync_azure_blob_files(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  azure_blob_file_sync_input = _body
  api_response = sync_azure_blob_files_with_http_info_impl(azure_blob_file_sync_input, extra)
  api_response.data
end

#sync_azure_blob_files_with_http_info(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Azure Blob Files

After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name and file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate data with the selected items or modify the sync behavior

Parameters:

  • ids (Array<AzureBlobGetFileInput>)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (AzureBlobFileSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2149

def sync_azure_blob_files_with_http_info(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  azure_blob_file_sync_input = _body
  sync_azure_blob_files_with_http_info_impl(azure_blob_file_sync_input, extra)
end

#sync_azure_blob_storage(account_name:, account_key:, sync_source_items: true, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Azure Blob Storage Auth

This endpoint can be used to connect Azure Blob Storage.

For Azure Blob Storage, follow these steps: <ol>

<li>Create a new Azure Storage account and grant the following permissions:
  <ul>
    <li>List containers.</li>
    <li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li>
  </ul>
</li>
<li>Generate a shared access signature (SAS) token or an access key for the storage account.</li>

</ol>

Once created, provide us with the following details to generate the connection URL: <ol>

<li>Storage Account KeyName.</li>
<li>Storage Account Name.</li>

</ol>

Parameters:

  • account_name (String)
  • account_key (String)
  • sync_source_items (Boolean) (defaults to: true)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (AzureBlobAuthRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2266

def sync_azure_blob_storage(account_name:, account_key:, sync_source_items: true, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:account_name] =  if  != SENTINEL
  _body[:account_key] =  if  != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  azure_blob_auth_request = _body
  api_response = sync_azure_blob_storage_with_http_info_impl(azure_blob_auth_request, extra)
  api_response.data
end

#sync_azure_blob_storage_with_http_info(account_name:, account_key:, sync_source_items: true, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Azure Blob Storage Auth

This endpoint can be used to connect Azure Blob Storage.

For Azure Blob Storage, follow these steps: <ol>

<li>Create a new Azure Storage account and grant the following permissions:
  <ul>
    <li>List containers.</li>
    <li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li>
  </ul>
</li>
<li>Generate a shared access signature (SAS) token or an access key for the storage account.</li>

</ol>

Once created, provide us with the following details to generate the connection URL: <ol>

<li>Storage Account KeyName.</li>
<li>Storage Account Name.</li>

</ol>

Parameters:

  • account_name (String)
  • account_key (String)
  • sync_source_items (Boolean) (defaults to: true)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (AzureBlobAuthRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2304
2305
2306
2307
2308
2309
2310
2311
2312
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2304

def sync_azure_blob_storage_with_http_info(account_name:, account_key:, sync_source_items: true, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:account_name] =  if  != SENTINEL
  _body[:account_key] =  if  != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  azure_blob_auth_request = _body
  sync_azure_blob_storage_with_http_info_impl(azure_blob_auth_request, extra)
end

#sync_confluence(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Confluence Sync

This endpoint has been deprecated. Use /integrations/files/sync instead.

After listing pages in a user’s Confluence account, the set of selected page ‘ids` and the connected account’s ‘data_source_id` can be passed into this endpoint to sync them into Carbon. Additional parameters listed below can be used to associate data to the selected pages or alter the behavior of the sync.

Parameters:

  • data_source_id (Integer)
  • ids (IdsProperty)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • incremental_sync (Boolean) (defaults to: false)

    Only sync files if they have not already been synced or if the embedding properties have changed. 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.

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (SyncFilesRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2410

def sync_confluence(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  sync_files_request = _body
  api_response = sync_confluence_with_http_info_impl(sync_files_request, extra)
  api_response.data
end

#sync_confluence_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Confluence Sync

This endpoint has been deprecated. Use /integrations/files/sync instead.

After listing pages in a user’s Confluence account, the set of selected page ‘ids` and the connected account’s ‘data_source_id` can be passed into this endpoint to sync them into Carbon. Additional parameters listed below can be used to associate data to the selected pages or alter the behavior of the sync.

Parameters:

  • data_source_id (Integer)
  • ids (IdsProperty)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • incremental_sync (Boolean) (defaults to: false)

    Only sync files if they have not already been synced or if the embedding properties have changed. 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.

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (SyncFilesRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2460

def sync_confluence_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  sync_files_request = _body
  sync_confluence_with_http_info_impl(sync_files_request, extra)
end

#sync_data_source_items(data_source_id:, extra: {}) ⇒ Object

Sync Data Source Items

Parameters:

  • data_source_id (Integer)
  • body (SyncDirectoryRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2556
2557
2558
2559
2560
2561
2562
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2556

def sync_data_source_items(data_source_id:, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  sync_directory_request = _body
  api_response = sync_data_source_items_with_http_info_impl(sync_directory_request, extra)
  api_response.data
end

#sync_data_source_items_with_http_info(data_source_id:, extra: {}) ⇒ Object

Sync Data Source Items

Parameters:

  • data_source_id (Integer)
  • body (SyncDirectoryRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2569
2570
2571
2572
2573
2574
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2569

def sync_data_source_items_with_http_info(data_source_id:, extra: {})
  _body = {}
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  sync_directory_request = _body
  sync_data_source_items_with_http_info_impl(sync_directory_request, extra)
end

#sync_files(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Sync Files

After listing files and folders via /integrations/items/sync and integrations/items/list, use the selected items’ external ids as the ids in this endpoint to sync them into Carbon. Sharepoint items take an additional parameter root_id, which identifies the drive the file or folder is in and is stored in root_external_id. That additional paramter is optional and excluding it will tell the sync to assume the item is stored in the default Documents drive.

Parameters:

  • data_source_id (Integer)
  • ids (IdsProperty)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • incremental_sync (Boolean) (defaults to: false)

    Only sync files if they have not already been synced or if the embedding properties have changed. 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.

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (SyncFilesRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2668

def sync_files(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  sync_files_request = _body
  api_response = sync_files_with_http_info_impl(sync_files_request, extra)
  api_response.data
end

#sync_files_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Sync Files

After listing files and folders via /integrations/items/sync and integrations/items/list, use the selected items’ external ids as the ids in this endpoint to sync them into Carbon. Sharepoint items take an additional parameter root_id, which identifies the drive the file or folder is in and is stored in root_external_id. That additional paramter is optional and excluding it will tell the sync to assume the item is stored in the default Documents drive.

Parameters:

  • data_source_id (Integer)
  • ids (IdsProperty)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGeneratorsNullable) (defaults to: 'OPENAI')
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • incremental_sync (Boolean) (defaults to: false)

    Only sync files if they have not already been synced or if the embedding properties have changed. 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.

  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (SyncFilesRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2716

def sync_files_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  sync_files_request = _body
  sync_files_with_http_info_impl(sync_files_request, extra)
end

#sync_git_hub(username:, access_token:, sync_source_items: false, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Github Connect

Refer this article to obtain an access token docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens. Make sure that your access token has the permission to read content from your desired repos. Note that if your access token expires you will need to manually update it through this endpoint.

Parameters:

  • username (String)
  • access_token (String)
  • sync_source_items (Boolean) (defaults to: false)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (GithubConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2819

def sync_git_hub(username:, access_token:, sync_source_items: false, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:username] = username if username != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  github_connect_request = _body
  api_response = sync_git_hub_with_http_info_impl(github_connect_request, extra)
  api_response.data
end

#sync_git_hub_with_http_info(username:, access_token:, sync_source_items: false, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Github Connect

Refer this article to obtain an access token docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens. Make sure that your access token has the permission to read content from your desired repos. Note that if your access token expires you will need to manually update it through this endpoint.

Parameters:

  • username (String)
  • access_token (String)
  • sync_source_items (Boolean) (defaults to: false)

    Enabling this flag will fetch all available content from the source to be listed via list items endpoint

  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (GithubConnectRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2842
2843
2844
2845
2846
2847
2848
2849
2850
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2842

def sync_git_hub_with_http_info(username:, access_token:, sync_source_items: false, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:username] = username if username != SENTINEL
  _body[:access_token] = access_token if access_token != SENTINEL
  _body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  github_connect_request = _body
  sync_git_hub_with_http_info_impl(github_connect_request, extra)
end

#sync_gitbook(space_ids:, data_source_id:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Gitbook Sync

You can sync upto 20 Gitbook spaces at a time using this endpoint. Additional parameters below can be used to associate data with the synced pages or modify the sync behavior.

Parameters:

  • space_ids (Array<String>)
  • data_source_id (Integer)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (GitbookSyncRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2939

def sync_gitbook(space_ids:, data_source_id:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:space_ids] = space_ids if space_ids != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  gitbook_sync_request = _body
  api_response = sync_gitbook_with_http_info_impl(gitbook_sync_request, extra)
  api_response.data
end

#sync_gitbook_with_http_info(space_ids:, data_source_id:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, file_sync_config: SENTINEL, extra: {}) ⇒ Object

Gitbook Sync

You can sync upto 20 Gitbook spaces at a time using this endpoint. Additional parameters below can be used to associate data with the synced pages or modify the sync behavior.

Parameters:

  • space_ids (Array<String>)
  • data_source_id (Integer)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (GitbookSyncRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 2975

def sync_gitbook_with_http_info(space_ids:, data_source_id:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:space_ids] = space_ids if space_ids != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  gitbook_sync_request = _body
  sync_gitbook_with_http_info_impl(gitbook_sync_request, extra)
end

#sync_gmail(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {}) ⇒ Object

Gmail Sync

Once you have successfully connected your gmail account, you can choose which emails to sync with us using the filters parameter. Filters is a JSON object with key value pairs. It also supports AND and OR operations. For now, we support a limited set of keys listed below.

label: Inbuilt Gmail labels, for example “Important” or a custom label you created.

after or before: 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.

is: Can have the following values - starred, important, snoozed, and unread

from: Email address of the sender

to: Email address of the recipient

in: Can have the following values - sent (sync emails sent by the user)

has: Can have the following values - attachment (sync emails that have attachments)

Using keys or values outside of the specified values can lead to unexpected behaviour.

An example of a basic query with filters can be “‘json {

"filters": {
        "key": "label",
        "value": "Test"
    }

} “‘ Which will list all emails that have the label “Test”.

You can use AND and OR operation in the following way: “‘json {

"filters": {
    "AND": [
        {
            "key": "after",
            "value": "2024/01/07"
        },
        {
            "OR": [
                {
                    "key": "label",
                    "value": "Personal"
                },
                {
                    "key": "is",
                    "value": "starred"
                }
            ]
        }
    ]
}

} “‘ This will return emails after 7th of Jan that are either starred or have the label “Personal”. Note that this is the highest level of nesting we support, i.e. you can’t add more AND/OR filters within the OR filter in the above example.

Parameters:

  • filters (Object)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • sync_attachments (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • incremental_sync (Boolean) (defaults to: false)
  • body (GmailSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3133

def sync_gmail(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_attachments] = sync_attachments if sync_attachments != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  gmail_sync_input = _body
  api_response = sync_gmail_with_http_info_impl(gmail_sync_input, extra)
  api_response.data
end

#sync_gmail_with_http_info(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {}) ⇒ Object

Gmail Sync

Once you have successfully connected your gmail account, you can choose which emails to sync with us using the filters parameter. Filters is a JSON object with key value pairs. It also supports AND and OR operations. For now, we support a limited set of keys listed below.

label: Inbuilt Gmail labels, for example “Important” or a custom label you created.

after or before: 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.

is: Can have the following values - starred, important, snoozed, and unread

from: Email address of the sender

to: Email address of the recipient

in: Can have the following values - sent (sync emails sent by the user)

has: Can have the following values - attachment (sync emails that have attachments)

Using keys or values outside of the specified values can lead to unexpected behaviour.

An example of a basic query with filters can be “‘json {

"filters": {
        "key": "label",
        "value": "Test"
    }

} “‘ Which will list all emails that have the label “Test”.

You can use AND and OR operation in the following way: “‘json {

"filters": {
    "AND": [
        {
            "key": "after",
            "value": "2024/01/07"
        },
        {
            "OR": [
                {
                    "key": "label",
                    "value": "Personal"
                },
                {
                    "key": "is",
                    "value": "starred"
                }
            ]
        }
    ]
}

} “‘ This will return emails after 7th of Jan that are either starred or have the label “Personal”. Note that this is the highest level of nesting we support, i.e. you can’t add more AND/OR filters within the OR filter in the above example.

Parameters:

  • filters (Object)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • sync_attachments (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • incremental_sync (Boolean) (defaults to: false)
  • body (GmailSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3225

def sync_gmail_with_http_info(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_attachments] = sync_attachments if sync_attachments != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  gmail_sync_input = _body
  sync_gmail_with_http_info_impl(gmail_sync_input, extra)
end

#sync_outlook(filters:, tags: SENTINEL, folder: 'Inbox', chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {}) ⇒ Object

Outlook Sync

Once you have successfully connected your Outlook account, you can choose which emails to sync with us using the filters and folder parameter. “folder” should be the folder you want to sync from Outlook. By default we get messages from your inbox folder.

Filters is a JSON object with key value pairs. It also supports AND and OR operations. For now, we support a limited set of keys listed below.

category: Custom categories that you created in Outlook.

after or before: 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.

is: Can have the following values: flagged

from: Email address of the sender

An example of a basic query with filters can be “‘json {

"filters": {
        "key": "category",
        "value": "Test"
    }

} “‘ Which will list all emails that have the category “Test”.

Specifying a custom folder in the same query “‘json {

"folder": "Folder Name",
"filters": {
        "key": "category",
        "value": "Test"
    }

} “‘

You can use AND and OR operation in the following way: “‘json {

"filters": {
    "AND": [
        {
            "key": "after",
            "value": "2024/01/07"
        },
        {
            "OR": [
                {
                    "key": "category",
                    "value": "Personal"
                },
                {
                    "key": "category",
                    "value": "Test"
                },
            ]
        }
    ]
}

} “‘ This will return emails after 7th of Jan that have either Personal or Test as category. Note that this is the highest level of nesting we support, i.e. you can’t add more AND/OR filters within the OR filter in the above example.

Parameters:

  • filters (Object)
  • tags (Object) (defaults to: SENTINEL)
  • folder (String) (defaults to: 'Inbox')
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • sync_attachments (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • incremental_sync (Boolean) (defaults to: false)
  • body (OutlookSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3393

def sync_outlook(filters:, tags: SENTINEL, folder: 'Inbox', chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:folder] = folder if folder != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_attachments] = sync_attachments if sync_attachments != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  outlook_sync_input = _body
  api_response = sync_outlook_with_http_info_impl(outlook_sync_input, extra)
  api_response.data
end

#sync_outlook_with_http_info(filters:, tags: SENTINEL, folder: 'Inbox', chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {}) ⇒ Object

Outlook Sync

Once you have successfully connected your Outlook account, you can choose which emails to sync with us using the filters and folder parameter. “folder” should be the folder you want to sync from Outlook. By default we get messages from your inbox folder.

Filters is a JSON object with key value pairs. It also supports AND and OR operations. For now, we support a limited set of keys listed below.

category: Custom categories that you created in Outlook.

after or before: 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.

is: Can have the following values: flagged

from: Email address of the sender

An example of a basic query with filters can be “‘json {

"filters": {
        "key": "category",
        "value": "Test"
    }

} “‘ Which will list all emails that have the category “Test”.

Specifying a custom folder in the same query “‘json {

"folder": "Folder Name",
"filters": {
        "key": "category",
        "value": "Test"
    }

} “‘

You can use AND and OR operation in the following way: “‘json {

"filters": {
    "AND": [
        {
            "key": "after",
            "value": "2024/01/07"
        },
        {
            "OR": [
                {
                    "key": "category",
                    "value": "Personal"
                },
                {
                    "key": "category",
                    "value": "Test"
                },
            ]
        }
    ]
}

} “‘ This will return emails after 7th of Jan that have either Personal or Test as category. Note that this is the highest level of nesting we support, i.e. you can’t add more AND/OR filters within the OR filter in the above example.

Parameters:

  • filters (Object)
  • tags (Object) (defaults to: SENTINEL)
  • folder (String) (defaults to: 'Inbox')
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • sync_attachments (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • incremental_sync (Boolean) (defaults to: false)
  • body (OutlookSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3494

def sync_outlook_with_http_info(filters:, tags: SENTINEL, folder: 'Inbox', chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, sync_attachments: false, file_sync_config: SENTINEL, incremental_sync: false, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:folder] = folder if folder != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:sync_attachments] = sync_attachments if sync_attachments != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  _body[:incremental_sync] = incremental_sync if incremental_sync != SENTINEL
  outlook_sync_input = _body
  sync_outlook_with_http_info_impl(outlook_sync_input, extra)
end

#sync_repos(repos:, data_source_id: SENTINEL, extra: {}) ⇒ Object

Github Sync Repos

You can retreive repos your token has access to using /integrations/github/repos and sync their content. You can also pass full name of any public repository (username/repo-name). This will store the repo content with carbon which can be accessed through /integrations/items/list endpoint. Maximum of 25 repositories are accepted per request.

Parameters:

  • repos (Array<String>)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • body (GithubFetchReposRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3593
3594
3595
3596
3597
3598
3599
3600
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3593

def sync_repos(repos:, data_source_id: SENTINEL, extra: {})
  _body = {}
  _body[:repos] = repos if repos != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  github_fetch_repos_request = _body
  api_response = sync_repos_with_http_info_impl(github_fetch_repos_request, extra)
  api_response.data
end

#sync_repos_with_http_info(repos:, data_source_id: SENTINEL, extra: {}) ⇒ Object

Github Sync Repos

You can retreive repos your token has access to using /integrations/github/repos and sync their content. You can also pass full name of any public repository (username/repo-name). This will store the repo content with carbon which can be accessed through /integrations/items/list endpoint. Maximum of 25 repositories are accepted per request.

Parameters:

  • repos (Array<String>)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • body (GithubFetchReposRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3612
3613
3614
3615
3616
3617
3618
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3612

def sync_repos_with_http_info(repos:, data_source_id: SENTINEL, extra: {})
  _body = {}
  _body[:repos] = repos if repos != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  github_fetch_repos_request = _body
  sync_repos_with_http_info_impl(github_fetch_repos_request, extra)
end

#sync_rss_feed(url:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Rss Feed

Parameters:

  • url (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (RSSFeedInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3703

def sync_rss_feed(url:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:url] = url if url != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  rss_feed_input = _body
  api_response = sync_rss_feed_with_http_info_impl(rss_feed_input, extra)
  api_response.data
end

#sync_rss_feed_with_http_info(url:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, data_source_tags: SENTINEL, extra: {}) ⇒ Object

Rss Feed

Parameters:

  • url (String)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • request_id (String) (defaults to: SENTINEL)
  • data_source_tags (Object) (defaults to: SENTINEL)

    Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.

  • body (RSSFeedInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3734

def sync_rss_feed_with_http_info(url:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, request_id: SENTINEL, data_source_tags: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:url] = url if url != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:data_source_tags] = data_source_tags if data_source_tags != SENTINEL
  rss_feed_input = _body
  sync_rss_feed_with_http_info_impl(rss_feed_input, extra)
end

#sync_s3_files(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

S3 Files

After optionally loading the items via /integrations/items/sync and integrations/items/list, use the bucket name and object key as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate data with the selected items or modify the sync behavior

Parameters:

  • ids (Array<S3GetFileInput>)

    Each input should be one of the following: A bucket name, a bucket name and a prefix, or a bucket name and an object key. A prefix is the common path for all objects you want to sync. Paths should end with a forward slash.

  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (S3FileSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3840

def sync_s3_files(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  s3_file_sync_input = _body
  api_response = sync_s3_files_with_http_info_impl(s3_file_sync_input, extra)
  api_response.data
end

#sync_s3_files_with_http_info(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {}) ⇒ Object

S3 Files

After optionally loading the items via /integrations/items/sync and integrations/items/list, use the bucket name and object key as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate data with the selected items or modify the sync behavior

Parameters:

  • ids (Array<S3GetFileInput>)

    Each input should be one of the following: A bucket name, a bucket name and a prefix, or a bucket name and an object key. A prefix is the common path for all objects you want to sync. Paths should end with a forward slash.

  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • max_items_per_chunk (Integer) (defaults to: SENTINEL)

    Number of objects per chunk. For csv, tsv, xlsx, and json files only.

  • set_page_as_boundary (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • use_ocr (Boolean) (defaults to: false)
  • parse_pdf_tables_with_ocr (Boolean) (defaults to: false)
  • file_sync_config (FileSyncConfigNullable) (defaults to: SENTINEL)
  • body (S3FileSyncInput)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3885

def sync_s3_files_with_http_info(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:ids] = ids if ids != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
  _body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  _body[:use_ocr] = use_ocr if use_ocr != SENTINEL
  _body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
  _body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
  s3_file_sync_input = _body
  sync_s3_files_with_http_info_impl(s3_file_sync_input, extra)
end

#sync_slack(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, extra: {}) ⇒ Object

Slack Sync

You can list all conversations using the endpoint /integrations/slack/conversations. The ID of conversation will be used as an input for this endpoint with timestamps as optional filters.

Parameters:

  • filters (SlackFilters)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • body (SlackSyncRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 3992

def sync_slack(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  slack_sync_request = _body
  api_response = sync_slack_with_http_info_impl(slack_sync_request, extra)
  api_response.data
end

#sync_slack_with_http_info(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, extra: {}) ⇒ Object

Slack Sync

You can list all conversations using the endpoint /integrations/slack/conversations. The ID of conversation will be used as an input for this endpoint with timestamps as optional filters.

Parameters:

  • filters (SlackFilters)
  • tags (Object) (defaults to: SENTINEL)
  • chunk_size (Integer) (defaults to: 1500)
  • chunk_overlap (Integer) (defaults to: 20)
  • skip_embedding_generation (Boolean) (defaults to: false)
  • embedding_model (EmbeddingGenerators) (defaults to: SENTINEL)
  • generate_sparse_vectors (Boolean) (defaults to: false)
  • prepend_filename_to_chunks (Boolean) (defaults to: false)
  • data_source_id (Integer) (defaults to: SENTINEL)
  • request_id (String) (defaults to: SENTINEL)
  • body (SlackSyncRequest)
  • extra (Hash) (defaults to: {})

    additional parameters to pass along through :header_params, :query_params, or parameter name



4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
# File 'lib/carbon_ruby_sdk/api/integrations_api.rb', line 4026

def sync_slack_with_http_info(filters:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, data_source_id: SENTINEL, request_id: SENTINEL, extra: {})
  _body = {}
  _body[:tags] = tags if tags != SENTINEL
  _body[:filters] = filters if filters != SENTINEL
  _body[:chunk_size] = chunk_size if chunk_size != SENTINEL
  _body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
  _body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
  _body[:embedding_model] = embedding_model if embedding_model != SENTINEL
  _body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
  _body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
  _body[:request_id] = request_id if request_id != SENTINEL
  slack_sync_request = _body
  sync_slack_with_http_info_impl(slack_sync_request, extra)
end