workos 10.0.0 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/CLAUDE.md +38 -0
  3. data/.last-synced-sha +1 -1
  4. data/.oagen-manifest.json +12 -0
  5. data/.release-please-manifest.json +1 -1
  6. data/AGENTS.md +1 -0
  7. data/CHANGELOG.md +87 -0
  8. data/Gemfile.lock +2 -2
  9. data/lib/workos/connect.rb +2 -2
  10. data/lib/workos/events.rb +2 -2
  11. data/lib/workos/groups.rb +6 -2
  12. data/lib/workos/pipes/connected_account.rb +9 -0
  13. data/lib/workos/pipes/create_data_integration.rb +3 -0
  14. data/lib/workos/pipes/data_integration.rb +3 -0
  15. data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +5 -2
  16. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +9 -0
  17. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request.rb +31 -0
  18. data/lib/workos/pipes.rb +45 -2
  19. data/lib/workos/pipes_provider/configure_data_integration_body.rb +5 -2
  20. data/lib/workos/pipes_provider/data_integration_configuration_response.rb +3 -0
  21. data/lib/workos/pipes_provider.rb +4 -1
  22. data/lib/workos/shared/agent_registration_refreshed.rb +34 -0
  23. data/lib/workos/shared/agent_registration_refreshed_data.rb +7 -0
  24. data/lib/workos/shared/waitlist_user.rb +3 -0
  25. data/lib/workos/sso/connection.rb +0 -3
  26. data/lib/workos/sso.rb +73 -26
  27. data/lib/workos/types/authenticate_response_authentication_method.rb +3 -1
  28. data/lib/workos/types/connected_account_auth_method.rb +2 -1
  29. data/lib/workos/types/connection_activated_data_connection_type.rb +3 -1
  30. data/lib/workos/types/connection_type.rb +3 -1
  31. data/lib/workos/types/connections_connection_type.rb +3 -1
  32. data/lib/workos/types/create_user_password_salt_position.rb +13 -0
  33. data/lib/workos/types/create_webhook_endpoint_events.rb +2 -1
  34. data/lib/workos/types/update_user_password_salt_position.rb +9 -0
  35. data/lib/workos/types/user_identities_get_item_provider.rb +3 -1
  36. data/lib/workos/user_management/create_user.rb +5 -2
  37. data/lib/workos/user_management/update_user.rb +5 -2
  38. data/lib/workos/user_management.rb +105 -51
  39. data/lib/workos/version.rb +1 -1
  40. data/rbi/workos/agent_registration_refreshed.rbi +54 -0
  41. data/rbi/workos/agent_registration_refreshed_data.rbi +24 -0
  42. data/rbi/workos/configure_data_integration_body.rbi +6 -0
  43. data/rbi/workos/connected_account.rbi +18 -0
  44. data/rbi/workos/connection.rbi +0 -6
  45. data/rbi/workos/create_data_integration.rbi +6 -0
  46. data/rbi/workos/create_user.rbi +6 -0
  47. data/rbi/workos/custom_provider_definition.rbi +4 -4
  48. data/rbi/workos/data_integration.rbi +8 -2
  49. data/rbi/workos/data_integration_configuration_response.rbi +6 -0
  50. data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +6 -0
  51. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +18 -0
  52. data/rbi/workos/data_integrations_upsert_client_credentials_request.rbi +48 -0
  53. data/rbi/workos/events.rbi +2 -2
  54. data/rbi/workos/groups.rbi +2 -1
  55. data/rbi/workos/pipes.rbi +17 -2
  56. data/rbi/workos/pipes_provider.rbi +2 -1
  57. data/rbi/workos/radar_sms_challenge_code_session_authenticate_request.rbi +4 -4
  58. data/rbi/workos/sso.rbi +26 -0
  59. data/rbi/workos/update_user.rbi +6 -0
  60. data/rbi/workos/user_management.rbi +36 -2
  61. data/rbi/workos/waitlist_user.rbi +6 -0
  62. data/test/workos/test_authkit_helpers.rb +22 -10
  63. data/test/workos/test_events.rb +2 -2
  64. data/test/workos/test_pipes.rb +8 -0
  65. data/test/workos/test_pipes_model_round_trip.rb +28 -4
  66. data/test/workos/test_pipes_provider_model_round_trip.rb +3 -1
  67. data/test/workos/test_shared_model_round_trip.rb +29 -0
  68. data/test/workos/test_sso_model_round_trip.rb +0 -1
  69. data/test/workos/test_user_management.rb +6 -6
  70. data/test/workos/test_user_management_model_round_trip.rb +4 -4
  71. metadata +11 -1
@@ -3,6 +3,7 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  require "json"
6
+ require "uri"
6
7
 
7
8
  module WorkOS
8
9
  class UserManagement
@@ -18,7 +19,13 @@ module WorkOS
18
19
  # @return [String]
19
20
  # @!attribute [r] password_hash_type
20
21
  # @return [WorkOS::Types::CreateUserPasswordHashType]
21
- PasswordHashed = Data.define(:password_hash, :password_hash_type)
22
+ # @!attribute [r] password_salt_position
23
+ # @return [WorkOS::Types::CreateUserPasswordSaltPosition, nil]
24
+ PasswordHashed = Data.define(:password_hash, :password_hash_type, :password_salt_position) do
25
+ def initialize(password_hash:, password_hash_type:, password_salt_position: nil)
26
+ super
27
+ end
28
+ end
22
29
 
23
30
  def initialize(client)
24
31
  @client = client
@@ -62,8 +69,8 @@ module WorkOS
62
69
  # @param pending_authentication_token [String, nil] The pending authentication token from a previous authentication attempt.
63
70
  # @param authentication_challenge_id [String, nil] The ID of the MFA authentication challenge.
64
71
  # @param radar_challenge_id [String, nil] The ID of the Radar email challenge being verified.
65
- # @param verification_id [String, nil] The ID of the Radar SMS verification being confirmed.
66
- # @param phone_number [String, nil] The phone number the Radar SMS challenge was sent to.
72
+ # @param verification_id [String, nil] The ID of the Radar SMS verification being confirmed. Required for sign-up challenges; omitted for sign-in challenges, where the verification is resolved server-side.
73
+ # @param phone_number [String, nil] The phone number the Radar SMS challenge was sent to. Required for sign-up challenges; omitted for sign-in challenges, where the phone number on file is resolved server-side.
67
74
  # @param device_code [String, nil] The device verification code.
68
75
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
69
76
  # @return [WorkOS::AuthenticateResponse]
@@ -475,8 +482,8 @@ module WorkOS
475
482
 
476
483
  # Authenticate with radar sms challenge.
477
484
  # @param code [String]
478
- # @param verification_id [String]
479
- # @param phone_number [String]
485
+ # @param verification_id [String, nil]
486
+ # @param phone_number [String, nil]
480
487
  # @param pending_authentication_token [String]
481
488
  # @param ip_address [String, nil]
482
489
  # @param device_id [String, nil]
@@ -485,9 +492,9 @@ module WorkOS
485
492
  # @return [WorkOS::AuthenticateResponse]
486
493
  def authenticate_with_radar_sms_challenge(
487
494
  code:,
488
- verification_id:,
489
- phone_number:,
490
495
  pending_authentication_token:,
496
+ verification_id: nil,
497
+ phone_number: nil,
491
498
  ip_address: nil,
492
499
  device_id: nil,
493
500
  user_agent: nil,
@@ -515,6 +522,70 @@ module WorkOS
515
522
  WorkOS::AuthenticateResponse.new(response.body)
516
523
  end
517
524
 
525
+ # Get an authorization URL
526
+ # Builds the URL client-side; no HTTP request is made.
527
+ # @param code_challenge_method [String, nil] The only valid PKCE code challenge method is `"S256"`. Required when specifying a `code_challenge`.
528
+ # @param code_challenge [String, nil] Code challenge derived from the code verifier used for the PKCE flow.
529
+ # @param domain_hint [String, nil] A domain hint for SSO connection lookup.
530
+ # @param connection_id [String, nil] The ID of an SSO connection to use for authentication.
531
+ # @param provider_query_params [Hash{String => String}, nil] Key/value pairs of query parameters to pass to the OAuth provider.
532
+ # @param provider_scopes [Array<String>, nil] Additional OAuth scopes to request from the identity provider.
533
+ # @param invitation_token [String, nil] A token representing a user invitation to redeem during authentication.
534
+ # @param max_age [Integer, nil] Maximum allowable elapsed time, in seconds, since the user last actively authenticated. If the last authentication is older than this value, the user is prompted to re-authenticate; a value of `0` forces re-authentication. Only supported when the provider is `authkit`.
535
+ # @param screen_hint [WorkOS::Types::UserManagementAuthenticationScreenHint, nil] Used to specify which screen to display when the provider is `authkit`.
536
+ # @param login_hint [String, nil] A hint to the authorization server about the login identifier the user might use.
537
+ # @param provider [WorkOS::Types::UserManagementAuthenticationProvider, nil] The OAuth provider to authenticate with (e.g., GoogleOAuth, MicrosoftOAuth, GitHubOAuth).
538
+ # @param prompt [String, nil] Controls the authentication flow behavior for the user.
539
+ # @param state [String, nil] An opaque value used to maintain state between the request and the callback.
540
+ # @param organization_id [String, nil] The ID of the organization to authenticate the user against.
541
+ # @param redirect_uri [String] The callback URI where the authorization code will be sent after authentication.
542
+ # @param client_id [String, nil] The unique identifier of the WorkOS environment client. Defaults to the client's configured client_id.
543
+ # @return [String]
544
+ def get_authorization_url(
545
+ redirect_uri:,
546
+ code_challenge_method: nil,
547
+ code_challenge: nil,
548
+ domain_hint: nil,
549
+ connection_id: nil,
550
+ provider_query_params: nil,
551
+ provider_scopes: nil,
552
+ invitation_token: nil,
553
+ max_age: nil,
554
+ screen_hint: nil,
555
+ login_hint: nil,
556
+ provider: nil,
557
+ prompt: nil,
558
+ state: nil,
559
+ organization_id: nil,
560
+ client_id: nil
561
+ )
562
+ params = {
563
+ "code_challenge_method" => code_challenge_method,
564
+ "code_challenge" => code_challenge,
565
+ "domain_hint" => domain_hint,
566
+ "connection_id" => connection_id,
567
+ "provider_query_params" => provider_query_params,
568
+ "provider_scopes" => provider_scopes,
569
+ "invitation_token" => invitation_token,
570
+ "max_age" => max_age,
571
+ "screen_hint" => screen_hint,
572
+ "login_hint" => login_hint,
573
+ "provider" => provider,
574
+ "prompt" => prompt,
575
+ "state" => state,
576
+ "organization_id" => organization_id,
577
+ "redirect_uri" => redirect_uri,
578
+ "client_id" => client_id
579
+ }.compact
580
+ params["provider_query_params"] = JSON.generate(provider_query_params) unless provider_query_params.nil?
581
+ params["provider_scopes"] = provider_scopes.join(",") unless provider_scopes.nil?
582
+ params["response_type"] = "code"
583
+ params["client_id"] = @client.client_id if !params.key?("client_id") && !@client.client_id.nil?
584
+ uri = URI.join(@client.base_url, "/user_management/authorize")
585
+ uri.query = URI.encode_www_form(params) unless params.empty?
586
+ uri.to_s
587
+ end
588
+
518
589
  # Get device authorization URL
519
590
  # @param client_id [String] The WorkOS client ID for your application.
520
591
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
@@ -592,6 +663,24 @@ module WorkOS
592
663
  result
593
664
  end
594
665
 
666
+ # Logout
667
+ # Builds the URL client-side; no HTTP request is made.
668
+ # @param session_id [String] The ID of the session. This can be extracted from the `sid` claim of the access token.
669
+ # @param return_to [String, nil] The URL to redirect the user to after logout.
670
+ # @return [String]
671
+ def get_logout_url(
672
+ session_id:,
673
+ return_to: nil
674
+ )
675
+ params = {
676
+ "session_id" => session_id,
677
+ "return_to" => return_to
678
+ }.compact
679
+ uri = URI.join(@client.base_url, "/user_management/sessions/logout")
680
+ uri.query = URI.encode_www_form(params) unless params.empty?
681
+ uri.to_s
682
+ end
683
+
595
684
  # Revoke Session
596
685
  # @param session_id [String] The ID of the session to revoke. This can be extracted from the `sid` claim of the access token.
597
686
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
@@ -870,6 +959,7 @@ module WorkOS
870
959
  when WorkOS::UserManagement::PasswordHashed
871
960
  body["password_hash"] = password.password_hash
872
961
  body["password_hash_type"] = password.password_hash_type
962
+ body["password_salt_position"] = password.password_salt_position unless password.password_salt_position.nil?
873
963
  else
874
964
  raise ArgumentError, "expected password to be one of: WorkOS::UserManagement::PasswordPlaintext, WorkOS::UserManagement::PasswordHashed, got #{password.class}"
875
965
  end
@@ -967,6 +1057,7 @@ module WorkOS
967
1057
  when WorkOS::UserManagement::PasswordHashed
968
1058
  body["password_hash"] = password.password_hash
969
1059
  body["password_hash_type"] = password.password_hash_type
1060
+ body["password_salt_position"] = password.password_salt_position unless password.password_salt_position.nil?
970
1061
  else
971
1062
  raise ArgumentError, "expected password to be one of: WorkOS::UserManagement::PasswordPlaintext, WorkOS::UserManagement::PasswordHashed, got #{password.class}"
972
1063
  end
@@ -1690,32 +1781,10 @@ module WorkOS
1690
1781
  URI.join(base, "/sso/jwks/#{WorkOS::Util.encode_path(cid)}").to_s
1691
1782
  end
1692
1783
 
1693
- # H09 Build an AuthKit authorization URL (client-side, no HTTP call).
1694
- # Overrides the generated get_authorization_url which hits the API.
1695
- def get_authorization_url(redirect_uri:, client_id: nil, provider: nil, connection_id: nil,
1696
- organization_id: nil, domain_hint: nil, login_hint: nil,
1697
- state: nil, screen_hint: nil, code_challenge: nil,
1698
- code_challenge_method: nil, prompt: nil, **)
1699
- cid = client_id || @client.client_id
1700
- raise ArgumentError, "client_id is required (set on Client or pass explicitly)" if cid.nil? || cid.empty?
1701
- raise ArgumentError, "provider, connection_id, or organization_id required" if provider.nil? && connection_id.nil? && organization_id.nil?
1702
- params = {
1703
- "client_id" => cid,
1704
- "redirect_uri" => redirect_uri,
1705
- "response_type" => "code",
1706
- "provider" => provider,
1707
- "connection_id" => connection_id,
1708
- "organization_id" => organization_id,
1709
- "domain_hint" => domain_hint,
1710
- "login_hint" => login_hint,
1711
- "state" => state,
1712
- "screen_hint" => screen_hint,
1713
- "code_challenge" => code_challenge,
1714
- "code_challenge_method" => code_challenge_method,
1715
- "prompt" => prompt
1716
- }.compact
1717
- build_url("/user_management/authorize", params)
1718
- end
1784
+ # H09 (authkit_authorization_url) is provided by the generated
1785
+ # `get_authorization_url` url-builder method, which accepts an optional
1786
+ # per-call `client_id` override falling back to the client's configured
1787
+ # value; no hand-maintained override is needed here.
1719
1788
 
1720
1789
  # H10 — AuthKit authorization URL with auto-generated PKCE + state.
1721
1790
  # Returns [url, code_verifier, state].
@@ -1773,24 +1842,9 @@ module WorkOS
1773
1842
  # `authenticate_with_device_code` method (wraps /user_management/authenticate);
1774
1843
  # no hand-maintained override is needed here.
1775
1844
 
1776
- # Build the AuthKit logout redirect URL (client-side, no HTTP call).
1777
- # @param session_id [String] The session ID (from the `sid` claim of the access token).
1778
- # @param return_to [String, nil] URL to redirect the user to after session revocation.
1779
- # @return [String]
1780
- def get_logout_url(session_id:, return_to: nil)
1781
- params = {"session_id" => session_id}
1782
- params["return_to"] = return_to if return_to
1783
- build_url("/user_management/sessions/logout", params)
1784
- end
1785
-
1786
- private
1787
-
1788
- def build_url(path, params)
1789
- base = @client.base_url
1790
- uri = URI.join(base, path)
1791
- uri.query = URI.encode_www_form(params)
1792
- uri.to_s
1793
- end
1845
+ # The AuthKit logout redirect URL is provided by the generated
1846
+ # `get_logout_url` url-builder method; no hand-maintained override is
1847
+ # needed here.
1794
1848
  # @oagen-ignore-end
1795
1849
  end
1796
1850
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # @oagen-ignore-file
4
4
  module WorkOS
5
- VERSION = "10.0.0"
5
+ VERSION = "10.2.0"
6
6
  end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class AgentRegistrationRefreshed
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
18
+ sig { returns(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def event; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def event=(value); end
29
+
30
+ sig { returns(WorkOS::AgentRegistrationRefreshedData) }
31
+ def data; end
32
+
33
+ sig { params(value: WorkOS::AgentRegistrationRefreshedData).returns(WorkOS::AgentRegistrationRefreshedData) }
34
+ def data=(value); end
35
+
36
+ sig { returns(String) }
37
+ def created_at; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def created_at=(value); end
41
+
42
+ sig { returns(T.nilable(WorkOS::EventContext)) }
43
+ def context; end
44
+
45
+ sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
46
+ def context=(value); end
47
+
48
+ sig { returns(T::Hash[Symbol, T.untyped]) }
49
+ def to_h; end
50
+
51
+ sig { params(args: T.untyped).returns(String) }
52
+ def to_json(*args); end
53
+ end
54
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class AgentRegistrationRefreshedData
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def agent_registration_id; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def agent_registration_id=(value); end
17
+
18
+ sig { returns(T::Hash[Symbol, T.untyped]) }
19
+ def to_h; end
20
+
21
+ sig { params(args: T.untyped).returns(String) }
22
+ def to_json(*args); end
23
+ end
24
+ end
@@ -33,6 +33,12 @@ module WorkOS
33
33
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
34
  def client_secret=(value); end
35
35
 
36
+ sig { returns(T.nilable(T::Hash[String, String])) }
37
+ def config; end
38
+
39
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
40
+ def config=(value); end
41
+
36
42
  sig { returns(T::Hash[Symbol, T.untyped]) }
37
43
  def to_h; end
38
44
 
@@ -51,6 +51,24 @@ module WorkOS
51
51
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
52
52
  def api_key_last_4=(value); end
53
53
 
54
+ sig { returns(T.nilable(String)) }
55
+ def client_id; end
56
+
57
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
58
+ def client_id=(value); end
59
+
60
+ sig { returns(T.nilable(String)) }
61
+ def client_secret_last_4; end
62
+
63
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
64
+ def client_secret_last_4=(value); end
65
+
66
+ sig { returns(T.nilable(T::Hash[String, String])) }
67
+ def config; end
68
+
69
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
70
+ def config=(value); end
71
+
54
72
  sig { returns(String) }
55
73
  def state; end
56
74
 
@@ -57,12 +57,6 @@ module WorkOS
57
57
  sig { params(value: T::Array[WorkOS::ConnectionDomain]).returns(T::Array[WorkOS::ConnectionDomain]) }
58
58
  def domains=(value); end
59
59
 
60
- sig { returns(T.nilable(String)) }
61
- def callback_endpoint; end
62
-
63
- sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
64
- def callback_endpoint=(value); end
65
-
66
60
  sig { returns(String) }
67
61
  def created_at; end
68
62
 
@@ -39,6 +39,12 @@ module WorkOS
39
39
  sig { params(value: T.nilable(T::Array[String])).returns(T.nilable(T::Array[String])) }
40
40
  def auth_methods=(value); end
41
41
 
42
+ sig { returns(T.nilable(T::Hash[String, String])) }
43
+ def config; end
44
+
45
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
46
+ def config=(value); end
47
+
42
48
  sig { returns(T.nilable(WorkOS::DataIntegrationCredentialsInput)) }
43
49
  def credentials; end
44
50
 
@@ -87,6 +87,12 @@ module WorkOS
87
87
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
88
88
  def password_hash_type=(value); end
89
89
 
90
+ sig { returns(T.nilable(String)) }
91
+ def password_salt_position; end
92
+
93
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
94
+ def password_salt_position=(value); end
95
+
90
96
  sig { returns(T::Hash[Symbol, T.untyped]) }
91
97
  def to_h; end
92
98
 
@@ -15,16 +15,16 @@ module WorkOS
15
15
  sig { params(value: String).returns(String) }
16
16
  def name=(value); end
17
17
 
18
- sig { returns(String) }
18
+ sig { returns(T.nilable(String)) }
19
19
  def authorization_url; end
20
20
 
21
- sig { params(value: String).returns(String) }
21
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
22
22
  def authorization_url=(value); end
23
23
 
24
- sig { returns(String) }
24
+ sig { returns(T.nilable(String)) }
25
25
  def token_url; end
26
26
 
27
- sig { params(value: String).returns(String) }
27
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
28
28
  def token_url=(value); end
29
29
 
30
30
  sig { returns(T.nilable(String)) }
@@ -69,10 +69,10 @@ module WorkOS
69
69
  sig { params(value: T::Array[String]).returns(T::Array[String]) }
70
70
  def auth_methods=(value); end
71
71
 
72
- sig { returns(WorkOS::DataIntegrationCredential) }
72
+ sig { returns(T.nilable(WorkOS::DataIntegrationCredential)) }
73
73
  def credentials; end
74
74
 
75
- sig { params(value: WorkOS::DataIntegrationCredential).returns(WorkOS::DataIntegrationCredential) }
75
+ sig { params(value: T.nilable(WorkOS::DataIntegrationCredential)).returns(T.nilable(WorkOS::DataIntegrationCredential)) }
76
76
  def credentials=(value); end
77
77
 
78
78
  sig { returns(T.nilable(WorkOS::DataIntegrationInstallation)) }
@@ -81,6 +81,12 @@ module WorkOS
81
81
  sig { params(value: T.nilable(WorkOS::DataIntegrationInstallation)).returns(T.nilable(WorkOS::DataIntegrationInstallation)) }
82
82
  def installation=(value); end
83
83
 
84
+ sig { returns(T::Hash[String, String]) }
85
+ def config; end
86
+
87
+ sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) }
88
+ def config=(value); end
89
+
84
90
  sig { returns(T.nilable(WorkOS::DataIntegrationCustomProvider)) }
85
91
  def custom_provider; end
86
92
 
@@ -51,6 +51,12 @@ module WorkOS
51
51
  sig { params(value: T.nilable(T::Array[String])).returns(T.nilable(T::Array[String])) }
52
52
  def scopes=(value); end
53
53
 
54
+ sig { returns(T::Hash[String, String]) }
55
+ def config; end
56
+
57
+ sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) }
58
+ def config=(value); end
59
+
54
60
  sig { returns(String) }
55
61
  def created_at; end
56
62
 
@@ -27,6 +27,12 @@ module WorkOS
27
27
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
28
28
  def return_to=(value); end
29
29
 
30
+ sig { returns(T.nilable(T::Hash[String, String])) }
31
+ def config; end
32
+
33
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
34
+ def config=(value); end
35
+
30
36
  sig { returns(T::Hash[Symbol, T.untyped]) }
31
37
  def to_h; end
32
38
 
@@ -51,6 +51,24 @@ module WorkOS
51
51
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
52
52
  def api_key_last_4=(value); end
53
53
 
54
+ sig { returns(T.nilable(String)) }
55
+ def client_id; end
56
+
57
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
58
+ def client_id=(value); end
59
+
60
+ sig { returns(T.nilable(String)) }
61
+ def client_secret_last_4; end
62
+
63
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
64
+ def client_secret_last_4=(value); end
65
+
66
+ sig { returns(T.nilable(T::Hash[String, String])) }
67
+ def config; end
68
+
69
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
70
+ def config=(value); end
71
+
54
72
  sig { returns(String) }
55
73
  def state; end
56
74
 
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class DataIntegrationsUpsertClientCredentialsRequest
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def user_id; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def user_id=(value); end
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ def organization_id; end
20
+
21
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
22
+ def organization_id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def client_id; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def client_id=(value); end
29
+
30
+ sig { returns(String) }
31
+ def client_secret; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def client_secret=(value); end
35
+
36
+ sig { returns(T.nilable(T::Hash[String, String])) }
37
+ def config; end
38
+
39
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
40
+ def config=(value); end
41
+
42
+ sig { returns(T::Hash[Symbol, T.untyped]) }
43
+ def to_h; end
44
+
45
+ sig { params(args: T.untyped).returns(String) }
46
+ def to_json(*args); end
47
+ end
48
+ end
@@ -11,18 +11,18 @@ module WorkOS
11
11
 
12
12
  sig do
13
13
  params(
14
+ events: T::Array[String],
14
15
  before: T.nilable(String),
15
16
  after: T.nilable(String),
16
17
  limit: T.nilable(Integer),
17
18
  order: T.nilable(String),
18
- events: T.nilable(T::Array[String]),
19
19
  range_start: T.nilable(String),
20
20
  range_end: T.nilable(String),
21
21
  organization_id: T.nilable(String),
22
22
  request_options: T::Hash[Symbol, T.untyped]
23
23
  ).returns(WorkOS::Types::ListStruct)
24
24
  end
25
- def list_events(before:, after:, limit:, order:, events:, range_start:, range_end:, organization_id:, request_options:); end
25
+ def list_events(events:, before:, after:, limit:, order:, range_start:, range_end:, organization_id:, request_options:); end
26
26
 
27
27
  end
28
28
  end
@@ -16,10 +16,11 @@ module WorkOS
16
16
  after: T.nilable(String),
17
17
  limit: T.nilable(Integer),
18
18
  order: T.nilable(String),
19
+ search: T.nilable(String),
19
20
  request_options: T::Hash[Symbol, T.untyped]
20
21
  ).returns(WorkOS::Types::ListStruct)
21
22
  end
22
- def list_organization_groups(organization_id:, before:, after:, limit:, order:, request_options:); end
23
+ def list_organization_groups(organization_id:, before:, after:, limit:, order:, search:, request_options:); end
23
24
 
24
25
  sig do
25
26
  params(
data/rbi/workos/pipes.rbi CHANGED
@@ -27,13 +27,14 @@ module WorkOS
27
27
  enabled: T.nilable(T::Boolean),
28
28
  scopes: T.nilable(T::Array[String]),
29
29
  auth_methods: T.nilable(T::Array[String]),
30
+ config: T.nilable(T::Hash[String, String]),
30
31
  credentials: T.nilable(WorkOS::DataIntegrationCredentialsInput),
31
32
  api_key: T.nilable(WorkOS::ApiKeyInstallation),
32
33
  custom_provider: T.nilable(WorkOS::CustomProviderDefinition),
33
34
  request_options: T::Hash[Symbol, T.untyped]
34
35
  ).returns(WorkOS::DataIntegration)
35
36
  end
36
- def create_data_integration(provider:, description:, enabled:, scopes:, auth_methods:, credentials:, api_key:, custom_provider:, request_options:); end
37
+ def create_data_integration(provider:, description:, enabled:, scopes:, auth_methods:, config:, credentials:, api_key:, custom_provider:, request_options:); end
37
38
 
38
39
  sig do
39
40
  params(
@@ -82,10 +83,24 @@ module WorkOS
82
83
  user_id: String,
83
84
  organization_id: T.nilable(String),
84
85
  return_to: T.nilable(String),
86
+ config: T.nilable(T::Hash[String, String]),
85
87
  request_options: T::Hash[Symbol, T.untyped]
86
88
  ).returns(WorkOS::DataIntegrationAuthorizeUrlResponse)
87
89
  end
88
- def authorize_data_integration(slug:, user_id:, organization_id:, return_to:, request_options:); end
90
+ def authorize_data_integration(slug:, user_id:, organization_id:, return_to:, config:, request_options:); end
91
+
92
+ sig do
93
+ params(
94
+ slug: String,
95
+ user_id: String,
96
+ client_id: String,
97
+ client_secret: String,
98
+ organization_id: T.nilable(String),
99
+ config: T.nilable(T::Hash[String, String]),
100
+ request_options: T::Hash[Symbol, T.untyped]
101
+ ).returns(WorkOS::ConnectedAccount)
102
+ end
103
+ def update_data_integration_client_credentials(slug:, user_id:, client_id:, client_secret:, organization_id:, config:, request_options:); end
89
104
 
90
105
  sig do
91
106
  params(
@@ -25,10 +25,11 @@ module WorkOS
25
25
  scopes: T.nilable(T::Array[String]),
26
26
  client_id: T.nilable(String),
27
27
  client_secret: T.nilable(String),
28
+ config: T.nilable(T::Hash[String, String]),
28
29
  request_options: T::Hash[Symbol, T.untyped]
29
30
  ).returns(WorkOS::DataIntegrationConfigurationResponse)
30
31
  end
31
- def update_organization_data_integration_configuration(organization_id:, slug:, enabled:, scopes:, client_id:, client_secret:, request_options:); end
32
+ def update_organization_data_integration_configuration(organization_id:, slug:, enabled:, scopes:, client_id:, client_secret:, config:, request_options:); end
32
33
 
33
34
  end
34
35
  end
@@ -33,16 +33,16 @@ module WorkOS
33
33
  sig { params(value: String).returns(String) }
34
34
  def code=(value); end
35
35
 
36
- sig { returns(String) }
36
+ sig { returns(T.nilable(String)) }
37
37
  def verification_id; end
38
38
 
39
- sig { params(value: String).returns(String) }
39
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
40
40
  def verification_id=(value); end
41
41
 
42
- sig { returns(String) }
42
+ sig { returns(T.nilable(String)) }
43
43
  def phone_number; end
44
44
 
45
- sig { params(value: String).returns(String) }
45
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
46
46
  def phone_number=(value); end
47
47
 
48
48
  sig { returns(String) }