Class: Ultrasafeai::Admin::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/ultrasafeai/admin/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:, base_url: nil, environment: nil) ⇒ void

Parameters:



11
12
13
14
15
# File 'lib/ultrasafeai/admin/client.rb', line 11

def initialize(client:, base_url: nil, environment: nil)
  @client = client
  @base_url = base_url
  @environment = environment
end

Instance Method Details

#activate_certificates(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
# File 'lib/ultrasafeai/admin/client.rb', line 1547

def activate_certificates(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/certificates/activate",
    body: params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#activate_project_certificates(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


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

def activate_project_certificates(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[project_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/certificates/activate",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#add_user_to_group(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
# File 'lib/ultrasafeai/admin/client.rb', line 1071

def add_user_to_group(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request_data = Ultrasafeai::Admin::Types::AddUserToGroupRequest.new(params).to_h
  non_body_param_names = %w[group_id]
  body = request_data.except(*non_body_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/users",
    body: body,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#add_user_to_project(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
# File 'lib/ultrasafeai/admin/client.rb', line 1817

def add_user_to_project(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request_data = Ultrasafeai::Admin::Types::AddUserToProjectRequest.new(params).to_h
  non_body_param_names = %w[project_id]
  body = request_data.except(*non_body_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/users",
    body: body,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#archive_project(request_options: {}, **params) ⇒ Ultrasafeai::Types::Project

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:



1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
# File 'lib/ultrasafeai/admin/client.rb', line 1746

def archive_project(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/archive",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Project.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#create_admin_api_key(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/ultrasafeai/admin/client.rb', line 102

def create_admin_api_key(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/admin_api_keys",
    body: Ultrasafeai::Admin::Types::CreateAdminAPIKeyRequest.new(params).to_h,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#create_certificate(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
# File 'lib/ultrasafeai/admin/client.rb', line 1421

def create_certificate(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/certificates",
    body: Ultrasafeai::Admin::Types::CreateCertificateRequest.new(params).to_h,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#create_group(request_options: {}, **params) ⇒ Ultrasafeai::Types::Group

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:



931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
# File 'lib/ultrasafeai/admin/client.rb', line 931

def create_group(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/groups",
    body: Ultrasafeai::Admin::Types::CreateGroupRequest.new(params).to_h,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Group.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#create_group_role(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
# File 'lib/ultrasafeai/admin/client.rb', line 1178

def create_group_role(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request_data = Ultrasafeai::Admin::Types::CreateGroupRoleRequest.new(params).to_h
  non_body_param_names = %w[group_id]
  body = request_data.except(*non_body_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/roles",
    body: body,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#create_invite(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
# File 'lib/ultrasafeai/admin/client.rb', line 556

def create_invite(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/invites",
    body: Ultrasafeai::Admin::Types::CreateInviteRequest.new(params).to_h,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#create_project(request_options: {}, **params) ⇒ Ultrasafeai::Types::Project

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:



1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
# File 'lib/ultrasafeai/admin/client.rb', line 1645

def create_project(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects",
    body: Ultrasafeai::Admin::Types::CreateProjectRequest.new(params).to_h,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Project.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#create_project_group(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
# File 'lib/ultrasafeai/admin/client.rb', line 2304

def create_project_group(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[project_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/groups",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#create_role(request_options: {}, **params) ⇒ Ultrasafeai::Types::Role

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:



1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
# File 'lib/ultrasafeai/admin/client.rb', line 1283

def create_role(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/roles",
    body: Ultrasafeai::Admin::Types::CreateRoleRequest.new(params).to_h,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Role.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#create_service_account(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
# File 'lib/ultrasafeai/admin/client.rb', line 1990

def (request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[project_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/service_accounts",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#create_user_role(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :user_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
# File 'lib/ultrasafeai/admin/client.rb', line 826

def create_user_role(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request_data = Ultrasafeai::Admin::Types::CreateUserRoleRequest.new(params).to_h
  non_body_param_names = %w[user_id]
  body = request_data.except(*non_body_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/users/#{URI.encode_uri_component(params[:user_id].to_s)}/roles",
    body: body,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#deactivate_certificates(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
# File 'lib/ultrasafeai/admin/client.rb', line 1577

def deactivate_certificates(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/certificates/deactivate",
    body: params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#deactivate_project_certificates(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
# File 'lib/ultrasafeai/admin/client.rb', line 2444

def deactivate_project_certificates(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[project_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/certificates/deactivate",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#delete_admin_api_key(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :key_id (String)

Returns:



163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# File 'lib/ultrasafeai/admin/client.rb', line 163

def delete_admin_api_key(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/admin_api_keys/#{URI.encode_uri_component(params[:key_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_certificate(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :certificate_id (String)

Returns:



1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
# File 'lib/ultrasafeai/admin/client.rb', line 1516

def delete_certificate(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/certificates/#{URI.encode_uri_component(params[:certificate_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_group(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)

Returns:



1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
# File 'lib/ultrasafeai/admin/client.rb', line 1000

def delete_group(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_group_role(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)
  • :role_id (String)

Returns:



1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
# File 'lib/ultrasafeai/admin/client.rb', line 1214

def delete_group_role(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/roles/#{URI.encode_uri_component(params[:role_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_invite(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :invite_id (String)

Returns:



617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
# File 'lib/ultrasafeai/admin/client.rb', line 617

def delete_invite(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/invites/#{URI.encode_uri_component(params[:invite_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_organization_user(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :user_id (String)

Returns:



755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
# File 'lib/ultrasafeai/admin/client.rb', line 755

def delete_organization_user(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/users/#{URI.encode_uri_component(params[:user_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_project_api_key(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :api_key_id (String)

Returns:



2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
# File 'lib/ultrasafeai/admin/client.rb', line 2120

def delete_project_api_key(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/api_keys/#{URI.encode_uri_component(params[:api_key_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_project_group(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :group_id (String)

Returns:



2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
# File 'lib/ultrasafeai/admin/client.rb', line 2339

def delete_project_group(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/groups/#{URI.encode_uri_component(params[:group_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_role(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :role_id (String)

Returns:



1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
# File 'lib/ultrasafeai/admin/client.rb', line 1352

def delete_role(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/roles/#{URI.encode_uri_component(params[:role_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_service_account(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :service_account_id (String)

Returns:



2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
# File 'lib/ultrasafeai/admin/client.rb', line 2056

def (request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/service_accounts/#{URI.encode_uri_component(params[:service_account_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#delete_user_role(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :user_id (String)
  • :role_id (String)

Returns:



862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
# File 'lib/ultrasafeai/admin/client.rb', line 862

def delete_user_role(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/users/#{URI.encode_uri_component(params[:user_id].to_s)}/roles/#{URI.encode_uri_component(params[:role_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#get_audio_speeches_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# File 'lib/ultrasafeai/admin/client.rb', line 196

def get_audio_speeches_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/audio_speeches",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_audio_transcriptions_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/ultrasafeai/admin/client.rb', line 232

def get_audio_transcriptions_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/audio_transcriptions",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_code_interpreter_sessions_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
# File 'lib/ultrasafeai/admin/client.rb', line 268

def get_code_interpreter_sessions_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/code_interpreter_sessions",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_completions_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
# File 'lib/ultrasafeai/admin/client.rb', line 304

def get_completions_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/completions",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_embeddings_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
# File 'lib/ultrasafeai/admin/client.rb', line 376

def get_embeddings_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/embeddings",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_images_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
# File 'lib/ultrasafeai/admin/client.rb', line 412

def get_images_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/images",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_moderations_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
# File 'lib/ultrasafeai/admin/client.rb', line 448

def get_moderations_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/moderations",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_organization_costs(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
# File 'lib/ultrasafeai/admin/client.rb', line 340

def get_organization_costs(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/costs",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#get_vector_stores_usage(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
# File 'lib/ultrasafeai/admin/client.rb', line 484

def get_vector_stores_usage(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/usage/vector_stores",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#list_admin_api_keys(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/ultrasafeai/admin/client.rb', line 66

def list_admin_api_keys(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/admin_api_keys",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_audit_logs(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/ultrasafeai/admin/client.rb', line 28

def list_audit_logs(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/audit_logs",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_certificates(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
# File 'lib/ultrasafeai/admin/client.rb', line 1385

def list_certificates(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/certificates",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_group_roles(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
# File 'lib/ultrasafeai/admin/client.rb', line 1141

def list_group_roles(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/roles",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_group_users(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
# File 'lib/ultrasafeai/admin/client.rb', line 1034

def list_group_users(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/users",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_groups(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
# File 'lib/ultrasafeai/admin/client.rb', line 895

def list_groups(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/groups",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_invites(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
# File 'lib/ultrasafeai/admin/client.rb', line 520

def list_invites(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/invites",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_organization_users(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
# File 'lib/ultrasafeai/admin/client.rb', line 650

def list_organization_users(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/users",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_project_api_keys(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
# File 'lib/ultrasafeai/admin/client.rb', line 2154

def list_project_api_keys(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/api_keys",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_project_certificates(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
# File 'lib/ultrasafeai/admin/client.rb', line 2373

def list_project_certificates(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/certificates",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_project_groups(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
# File 'lib/ultrasafeai/admin/client.rb', line 2267

def list_project_groups(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/groups",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_project_users(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
# File 'lib/ultrasafeai/admin/client.rb', line 1780

def list_project_users(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/users",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_projects(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
# File 'lib/ultrasafeai/admin/client.rb', line 1609

def list_projects(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_rate_limits(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
# File 'lib/ultrasafeai/admin/client.rb', line 2193

def list_rate_limits(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/rate_limits",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_roles(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
# File 'lib/ultrasafeai/admin/client.rb', line 1247

def list_roles(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/roles",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_service_accounts(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
# File 'lib/ultrasafeai/admin/client.rb', line 1953

def list_service_accounts(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/service_accounts",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#list_user_roles(request_options: {}, **params) ⇒ Ultrasafeai::Types::ListResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :user_id (String)
  • :limit (Integer, nil)
  • :after (String, nil)

Returns:



789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
# File 'lib/ultrasafeai/admin/client.rb', line 789

def list_user_roles(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["after"] = params[:after] if params.key?(:after)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/users/#{URI.encode_uri_component(params[:user_id].to_s)}/roles",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::ListResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#remove_user_from_group(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)
  • :user_id (String)

Returns:



1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
# File 'lib/ultrasafeai/admin/client.rb', line 1107

def remove_user_from_group(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/users/#{URI.encode_uri_component(params[:user_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#remove_user_from_project(request_options: {}, **params) ⇒ Ultrasafeai::Types::DeletedResponse

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :user_id (String)

Returns:



1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
# File 'lib/ultrasafeai/admin/client.rb', line 1919

def remove_user_from_project(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "DELETE",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/users/#{URI.encode_uri_component(params[:user_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::DeletedResponse.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#retrieve_admin_api_key(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :key_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/ultrasafeai/admin/client.rb', line 133

def retrieve_admin_api_key(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/admin_api_keys/#{URI.encode_uri_component(params[:key_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#retrieve_certificate(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :certificate_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
# File 'lib/ultrasafeai/admin/client.rb', line 1452

def retrieve_certificate(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/certificates/#{URI.encode_uri_component(params[:certificate_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#retrieve_invite(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :invite_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
# File 'lib/ultrasafeai/admin/client.rb', line 587

def retrieve_invite(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/invites/#{URI.encode_uri_component(params[:invite_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#retrieve_organization_user(request_options: {}, **params) ⇒ Ultrasafeai::Types::User

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :user_id (String)

Returns:



687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
# File 'lib/ultrasafeai/admin/client.rb', line 687

def retrieve_organization_user(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/users/#{URI.encode_uri_component(params[:user_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::User.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#retrieve_project(request_options: {}, **params) ⇒ Ultrasafeai::Types::Project

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:



1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
# File 'lib/ultrasafeai/admin/client.rb', line 1678

def retrieve_project(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Project.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#retrieve_project_api_key(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :api_key_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
# File 'lib/ultrasafeai/admin/client.rb', line 2089

def retrieve_project_api_key(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/api_keys/#{URI.encode_uri_component(params[:api_key_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#retrieve_project_user(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :user_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
# File 'lib/ultrasafeai/admin/client.rb', line 1853

def retrieve_project_user(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/users/#{URI.encode_uri_component(params[:user_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#retrieve_service_account(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :service_account_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
# File 'lib/ultrasafeai/admin/client.rb', line 2025

def (request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "GET",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/service_accounts/#{URI.encode_uri_component(params[:service_account_id].to_s)}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#update_certificate(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :certificate_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
# File 'lib/ultrasafeai/admin/client.rb', line 1482

def update_certificate(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[certificate_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/certificates/#{URI.encode_uri_component(params[:certificate_id].to_s)}",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#update_group(request_options: {}, **params) ⇒ Ultrasafeai::Types::Group

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :group_id (String)

Returns:



964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
# File 'lib/ultrasafeai/admin/client.rb', line 964

def update_group(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[group_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/groups/#{URI.encode_uri_component(params[:group_id].to_s)}",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Group.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#update_organization_user(request_options: {}, **params) ⇒ Ultrasafeai::Types::User

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :user_id (String)

Returns:



719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
# File 'lib/ultrasafeai/admin/client.rb', line 719

def update_organization_user(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[user_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/users/#{URI.encode_uri_component(params[:user_id].to_s)}",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::User.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#update_project(request_options: {}, **params) ⇒ Ultrasafeai::Types::Project

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)

Returns:



1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
# File 'lib/ultrasafeai/admin/client.rb', line 1710

def update_project(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[project_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Project.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#update_project_user(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :user_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
# File 'lib/ultrasafeai/admin/client.rb', line 1884

def update_project_user(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[project_id user_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/users/#{URI.encode_uri_component(params[:user_id].to_s)}",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#update_rate_limit(request_options: {}, **params) ⇒ Hash[String, Object]

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :project_id (String)
  • :rate_limit_id (String)

Returns:

  • (Hash[String, Object])

Raises:

  • (error_class)


2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
# File 'lib/ultrasafeai/admin/client.rb', line 2231

def update_rate_limit(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[project_id rate_limit_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/projects/#{URI.encode_uri_component(params[:project_id].to_s)}/rate_limits/#{URI.encode_uri_component(params[:rate_limit_id].to_s)}",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#update_role(request_options: {}, **params) ⇒ Ultrasafeai::Types::Role

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :role_id (String)

Returns:



1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
# File 'lib/ultrasafeai/admin/client.rb', line 1316

def update_role(request_options: {}, **params)
  params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[role_id]
  body_params = params.except(*path_param_names)

  request = Ultrasafeai::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:base),
    method: "POST",
    path: "organization/roles/#{URI.encode_uri_component(params[:role_id].to_s)}",
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Ultrasafeai::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Ultrasafeai::Types::Role.load(response.body)
  else
    error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end