workos 1.2.0 → 1.5.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/lib/workos/client.rb +1 -1
  4. data/lib/workos/connection.rb +9 -1
  5. data/lib/workos/directory.rb +12 -1
  6. data/lib/workos/directory_user.rb +9 -1
  7. data/lib/workos/errors.rb +13 -2
  8. data/lib/workos/organization.rb +7 -1
  9. data/lib/workos/sso.rb +6 -0
  10. data/lib/workos/types/connection_struct.rb +2 -0
  11. data/lib/workos/types/directory_struct.rb +3 -0
  12. data/lib/workos/types/directory_user_struct.rb +2 -0
  13. data/lib/workos/types/organization_struct.rb +2 -0
  14. data/lib/workos/types/provider_enum.rb +1 -0
  15. data/lib/workos/version.rb +1 -1
  16. data/spec/lib/workos/directory_sync_spec.rb +19 -19
  17. data/spec/lib/workos/organizations_spec.rb +11 -11
  18. data/spec/lib/workos/sso_spec.rb +19 -19
  19. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml +40 -16
  20. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_after.yml +12 -9
  21. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_before.yml +8 -5
  22. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_domain.yml +8 -8
  23. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +9 -9
  24. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml +23 -10
  25. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +8 -8
  26. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_after.yml +128 -28
  27. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_before.yml +31 -18
  28. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_directory.yml +136 -35
  29. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml +128 -18
  30. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml +131 -17
  31. data/spec/support/fixtures/vcr_cassettes/organization/create.yml +28 -16
  32. data/spec/support/fixtures/vcr_cassettes/organization/get.yml +27 -16
  33. data/spec/support/fixtures/vcr_cassettes/organization/list.yml +29 -14
  34. data/spec/support/fixtures/vcr_cassettes/organization/update.yml +27 -16
  35. data/spec/support/fixtures/vcr_cassettes/sso/get_connection_with_valid_id.yml +28 -16
  36. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_after.yml +25 -15
  37. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_before.yml +28 -15
  38. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_connection_type.yml +31 -14
  39. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_domain.yml +27 -13
  40. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_limit.yml +24 -15
  41. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_no_options.yml +30 -14
  42. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml +28 -14
  43. metadata +3 -3
@@ -7,13 +7,13 @@ describe WorkOS::Organizations do
7
7
  it 'creates an organization' do
8
8
  VCR.use_cassette 'organization/create' do
9
9
  organization = described_class.create_organization(
10
- domains: ['example.com'],
10
+ domains: ['example.io'],
11
11
  name: 'Test Organization',
12
12
  )
13
13
 
14
- expect(organization.id).to eq('org_01EHT88Z8J8795GZNQ4ZP1J81T')
14
+ expect(organization.id).to eq('org_01FCPEJXEZR4DSBA625YMGQT9N')
15
15
  expect(organization.name).to eq('Test Organization')
16
- expect(organization.domains.first[:domain]).to eq('example.com')
16
+ expect(organization.domains.first[:domain]).to eq('example.io')
17
17
  end
18
18
  end
19
19
  end
@@ -46,7 +46,7 @@ describe WorkOS::Organizations do
46
46
  VCR.use_cassette 'organization/list' do
47
47
  organizations = described_class.list_organizations
48
48
 
49
- expect(organizations.data.size).to eq(7)
49
+ expect(organizations.data.size).to eq(6)
50
50
  expect(organizations.list_metadata).to eq(expected_metadata)
51
51
  end
52
52
  end
@@ -69,7 +69,7 @@ describe WorkOS::Organizations do
69
69
  before: 'before-id',
70
70
  )
71
71
 
72
- expect(organizations.data.size).to eq(7)
72
+ expect(organizations.data.size).to eq(6)
73
73
  end
74
74
  end
75
75
  end
@@ -89,7 +89,7 @@ describe WorkOS::Organizations do
89
89
  VCR.use_cassette 'organization/list', match_requests_on: [:path] do
90
90
  organizations = described_class.list_organizations(after: 'after-id')
91
91
 
92
- expect(organizations.data.size).to eq(7)
92
+ expect(organizations.data.size).to eq(6)
93
93
  end
94
94
  end
95
95
  end
@@ -109,7 +109,7 @@ describe WorkOS::Organizations do
109
109
  VCR.use_cassette 'organization/list', match_requests_on: [:path] do
110
110
  organizations = described_class.list_organizations(limit: 10)
111
111
 
112
- expect(organizations.data.size).to eq(7)
112
+ expect(organizations.data.size).to eq(6)
113
113
  end
114
114
  end
115
115
  end
@@ -120,10 +120,10 @@ describe WorkOS::Organizations do
120
120
  it 'gets the organization details' do
121
121
  VCR.use_cassette('organization/get') do
122
122
  organization = described_class.get_organization(
123
- id: 'org_01EZDF20TZEJXKPSX2BJRN6TV6',
123
+ id: 'org_01F9293WD2PDEEV4Y625XPZVG7',
124
124
  )
125
125
 
126
- expect(organization.id).to eq('org_01EZDF20TZEJXKPSX2BJRN6TV6')
126
+ expect(organization.id).to eq('org_01F9293WD2PDEEV4Y625XPZVG7')
127
127
  expect(organization.name).to eq('Foo Corp')
128
128
  expect(organization.domains.first[:domain]).to eq('foo-corp.com')
129
129
  end
@@ -149,12 +149,12 @@ describe WorkOS::Organizations do
149
149
  it 'creates an organization' do
150
150
  VCR.use_cassette 'organization/update' do
151
151
  organization = described_class.update_organization(
152
- organization: 'org_01F29YJ068E52HGEB8ZQGC9MJG',
152
+ organization: 'org_01F6Q6TFP7RD2PF6J03ANNWDKV',
153
153
  domains: ['example.me'],
154
154
  name: 'Test Organization',
155
155
  )
156
156
 
157
- expect(organization.id).to eq('org_01F29YJ068E52HGEB8ZQGC9MJG')
157
+ expect(organization.id).to eq('org_01F6Q6TFP7RD2PF6J03ANNWDKV')
158
158
  expect(organization.name).to eq('Test Organization')
159
159
  expect(organization.domains.first[:domain]).to eq('example.me')
160
160
  end
@@ -143,7 +143,7 @@ describe WorkOS::SSO do
143
143
  described_class.authorization_url(**args)
144
144
  end.to raise_error(
145
145
  ArgumentError,
146
- 'Okta is not a valid value. `provider` must be in ["GoogleOAuth"]',
146
+ 'Okta is not a valid value. `provider` must be in ["GoogleOAuth", "MicrosoftOAuth"]',
147
147
  )
148
148
  end
149
149
  end
@@ -252,7 +252,7 @@ describe WorkOS::SSO do
252
252
  to_return(
253
253
  headers: { 'X-Request-ID' => 'request-id' },
254
254
  status: 422,
255
- body: { "message": 'some error message' }.to_json,
255
+ body: { "error": 'some error', "error_description": 'some error description' }.to_json,
256
256
  )
257
257
  end
258
258
 
@@ -261,7 +261,7 @@ describe WorkOS::SSO do
261
261
  described_class.profile_and_token(**args)
262
262
  end.to raise_error(
263
263
  WorkOS::APIError,
264
- 'some error message - request ID: request-id',
264
+ 'error: some error, error_description: some error description - request ID: request-id',
265
265
  )
266
266
  end
267
267
  end
@@ -271,11 +271,11 @@ describe WorkOS::SSO do
271
271
  stub_request(:post, 'https://api.workos.com/sso/token').
272
272
  with(body: request_body).
273
273
  to_return(
274
- status: 201,
274
+ status: 400,
275
275
  headers: { 'X-Request-ID' => 'request-id' },
276
276
  body: {
277
- message: "The code '01DVX3C5Z367SFHR8QNDMK7V24'" \
278
- ' has expired or is invalid.',
277
+ "error": 'invalid_grant',
278
+ "error_description": "The code '01DVX3C5Z367SFHR8QNDMK7V24' has expired or is invalid.",
279
279
  }.to_json,
280
280
  )
281
281
  end
@@ -285,7 +285,7 @@ describe WorkOS::SSO do
285
285
  described_class.profile_and_token(**args)
286
286
  end.to raise_error(
287
287
  WorkOS::APIError,
288
- "The code '01DVX3C5Z367SFHR8QNDMK7V24'" \
288
+ "error: invalid_grant, error_description: The code '01DVX3C5Z367SFHR8QNDMK7V24'" \
289
289
  ' has expired or is invalid. - request ID: request-id',
290
290
  )
291
291
  end
@@ -303,7 +303,7 @@ describe WorkOS::SSO do
303
303
  VCR.use_cassette 'sso/list_connections/with_no_options' do
304
304
  connections = described_class.list_connections
305
305
 
306
- expect(connections.data.size).to eq(3)
306
+ expect(connections.data.size).to eq(6)
307
307
  expect(connections.list_metadata).to eq(expected_metadata)
308
308
  end
309
309
  end
@@ -326,7 +326,7 @@ describe WorkOS::SSO do
326
326
  connection_type: 'OktaSAML',
327
327
  )
328
328
 
329
- expect(connections.data.size).to eq(3)
329
+ expect(connections.data.size).to eq(10)
330
330
  expect(connections.data.first.connection_type).to eq('OktaSAML')
331
331
  end
332
332
  end
@@ -357,7 +357,7 @@ describe WorkOS::SSO do
357
357
  context 'with organization_id option' do
358
358
  it 'forms the proper request to the API' do
359
359
  request_args = [
360
- '/connections?organization_id=org_01EGS4P7QR31EZ4YWD1Z1XA176',
360
+ '/connections?organization_id=org_01F9293WD2PDEEV4Y625XPZVG7',
361
361
  'Content-Type' => 'application/json'
362
362
  ]
363
363
 
@@ -368,12 +368,12 @@ describe WorkOS::SSO do
368
368
 
369
369
  VCR.use_cassette 'sso/list_connections/with_organization_id' do
370
370
  connections = described_class.list_connections(
371
- organization_id: 'org_01EGS4P7QR31EZ4YWD1Z1XA176',
371
+ organization_id: 'org_01F9293WD2PDEEV4Y625XPZVG7',
372
372
  )
373
373
 
374
374
  expect(connections.data.size).to eq(1)
375
375
  expect(connections.data.first.organization_id).to eq(
376
- 'org_01EGS4P7QR31EZ4YWD1Z1XA176',
376
+ 'org_01F9293WD2PDEEV4Y625XPZVG7',
377
377
  )
378
378
  end
379
379
  end
@@ -404,7 +404,7 @@ describe WorkOS::SSO do
404
404
  context 'with before option' do
405
405
  it 'forms the proper request to the API' do
406
406
  request_args = [
407
- '/connections?before=conn_01EQKPMQAPV02H270HKVNS4CTA',
407
+ '/connections?before=conn_01FA3WGCWPCCY1V2FGES2FDNP7',
408
408
  'Content-Type' => 'application/json'
409
409
  ]
410
410
 
@@ -415,7 +415,7 @@ describe WorkOS::SSO do
415
415
 
416
416
  VCR.use_cassette 'sso/list_connections/with_before' do
417
417
  connections = described_class.list_connections(
418
- before: 'conn_01EQKPMQAPV02H270HKVNS4CTA',
418
+ before: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
419
419
  )
420
420
 
421
421
  expect(connections.data.size).to eq(3)
@@ -426,7 +426,7 @@ describe WorkOS::SSO do
426
426
  context 'with after option' do
427
427
  it 'forms the proper request to the API' do
428
428
  request_args = [
429
- '/connections?after=conn_01EQKPMQAPV02H270HKVNS4CTA',
429
+ '/connections?after=conn_01FA3WGCWPCCY1V2FGES2FDNP7',
430
430
  'Content-Type' => 'application/json'
431
431
  ]
432
432
 
@@ -437,10 +437,10 @@ describe WorkOS::SSO do
437
437
 
438
438
  VCR.use_cassette 'sso/list_connections/with_after' do
439
439
  connections = described_class.list_connections(
440
- after: 'conn_01EQKPMQAPV02H270HKVNS4CTA',
440
+ after: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
441
441
  )
442
442
 
443
- expect(connections.data.size).to eq(3)
443
+ expect(connections.data.size).to eq(2)
444
444
  end
445
445
  end
446
446
  end
@@ -451,10 +451,10 @@ describe WorkOS::SSO do
451
451
  it 'gets the connection details' do
452
452
  VCR.use_cassette('sso/get_connection_with_valid_id') do
453
453
  connection = WorkOS::SSO.get_connection(
454
- id: 'conn_01EX00NB050H354WKGC7990AR2',
454
+ id: 'conn_01FA3WGCWPCCY1V2FGES2FDNP7',
455
455
  )
456
456
 
457
- expect(connection.id).to eq('conn_01EX00NB050H354WKGC7990AR2')
457
+ expect(connection.id).to eq('conn_01FA3WGCWPCCY1V2FGES2FDNP7')
458
458
  expect(connection.connection_type).to eq('OktaSAML')
459
459
  expect(connection.name).to eq('Foo Corp')
460
460
  expect(connection.domains.first[:domain]).to eq('foo-corp.com')
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.workos.com/directory_users/directory_usr_01E64QS50EAY48S0XJ1AA4WX4D
5
+ uri: https://api.workos.com/directory_users/directory_user_01FAZYNPC8M0HRYTKFP2GNX852
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.2.3
17
+ - WorkOS; ruby/3.0.1; x86_64-darwin19; v1.4.0
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -22,16 +22,26 @@ http_interactions:
22
22
  code: 200
23
23
  message: OK
24
24
  headers:
25
- Server:
26
- - Cowboy
25
+ Date:
26
+ - Mon, 09 Aug 2021 17:36:13 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
27
31
  Connection:
28
32
  - keep-alive
29
33
  Vary:
30
34
  - Origin, Accept-Encoding
31
35
  Access-Control-Allow-Credentials:
32
36
  - 'true'
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
33
41
  X-Dns-Prefetch-Control:
34
42
  - 'off'
43
+ Expect-Ct:
44
+ - max-age=0
35
45
  X-Frame-Options:
36
46
  - SAMEORIGIN
37
47
  Strict-Transport-Security:
@@ -40,23 +50,37 @@ http_interactions:
40
50
  - noopen
41
51
  X-Content-Type-Options:
42
52
  - nosniff
53
+ X-Permitted-Cross-Domain-Policies:
54
+ - none
55
+ Referrer-Policy:
56
+ - no-referrer
43
57
  X-Xss-Protection:
44
- - 1; mode=block
58
+ - '0'
45
59
  X-Request-Id:
46
- - fe3f582a-b944-4f2c-a225-ae3a7f099fa0
47
- Content-Type:
48
- - application/json; charset=utf-8
49
- Content-Length:
50
- - '368'
60
+ - 59862449-73e5-4dfd-93ab-3764b1917801
51
61
  Etag:
52
- - W/"170-JjGTDHa7GqXeAwXcua+s3+2z/oA"
53
- Date:
54
- - Thu, 30 Apr 2020 04:43:14 GMT
62
+ - W/"4c3-Ikxt2N0fUuSxCjv+RdYvW8W9Xwo"
55
63
  Via:
56
64
  - 1.1 vegur
65
+ Cf-Cache-Status:
66
+ - DYNAMIC
67
+ Report-To:
68
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=m6%2FJ3BJ75VMwSOtfDQXjt%2FoL29FI%2Bv5VswhZzg6LVkOQi7nyI19Sks%2FkDGCDrSQ%2FMtyU6DI4OFWR9RB1I04IGdhehsY2oPGugIj%2BhHMiJdQEcE6vPAsuaF1HyVnXGvMgRYdurEW1Jr7rSYBWeA%3D%3D"}],"group":"cf-nel","max_age":604800}'
69
+ Nel:
70
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
71
+ Server:
72
+ - cloudflare
73
+ Cf-Ray:
74
+ - 67c2bed0ebe6c7e6-DFW
75
+ Alt-Svc:
76
+ - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443";
77
+ ma=86400
57
78
  body:
58
- encoding: UTF-8
59
- string: '{"id":"directory_usr_01E64QS50EAY48S0XJ1AA4WX4D","raw_attributes":{"name":{"givenName":"Mark","familyName":"Tran"},"emails":[{"value":"mark@foo-corp.com","primary":true}],"userName":"mark@foo-corp.com","externalId":"118325297729072421906"},"first_name":"Mark","emails":[{"value":"mark@foo-corp.com","primary":true}],"username":"mark@foo-corp.com","last_name":"Tran"}'
79
+ encoding: ASCII-8BIT
80
+ string: '{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Logan
81
+ Paul Gingerich","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Gingerich","createdAt":"2021-05-05T16:06:24+0000","firstName":"Logan","updatedAt":"2021-07-19T19:17:52+0000","workEmail":"logan@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{"department":"Infra"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNN1NZWMBRAXXDSTB5NFH","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
82
+ - Infra","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae4a","name":"Infra","parent":"5f27ada9a5e9bc0001a0ae48"}},{"object":"directory_group","id":"directory_group_01FAZYNNQ4HQ6EBF29MPTH7VKB","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Team
83
+ - Platform","raw_attributes":{"id":"5f696c8e9a63a60e965aaca8","name":"Platform","parent":null}}]}'
60
84
  http_version:
61
- recorded_at: Thu, 30 Apr 2020 04:43:15 GMT
85
+ recorded_at: Mon, 09 Aug 2021 17:36:13 GMT
62
86
  recorded_with: VCR 5.0.0
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.10.3
17
+ - WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -53,20 +53,23 @@ http_interactions:
53
53
  X-Xss-Protection:
54
54
  - '0'
55
55
  X-Request-Id:
56
- - 1e6d2f37-ca39-4e6c-8d04-4a56fed444ce
56
+ - 167e0fa2-cee2-4834-a0aa-4f68fd0a3796
57
57
  Content-Type:
58
58
  - application/json; charset=utf-8
59
+ Content-Length:
60
+ - '784'
59
61
  Etag:
60
- - W/"7dc-9PMr4siidbvsdQqw0uiJT6E94Dc"
62
+ - W/"310-fBrsCTIA95j4JLo4UR8X2zBThYQ"
61
63
  Date:
62
- - Thu, 22 Apr 2021 21:33:48 GMT
63
- Transfer-Encoding:
64
- - chunked
64
+ - Mon, 07 Jun 2021 17:55:30 GMT
65
65
  Via:
66
66
  - 1.1 vegur
67
67
  body:
68
- encoding: ASCII-8BIT
69
- string: '{"object":"list","listMetadata":{"before":"before-id","after":null},"data":[{"object":"directory","id":"directory_edp_1","external_key":"lA3gS1kCZMCkk82E","state":"linked","type":"gsuite directory","name":"Foo Corp","bearer_token":null,"client_id":"project_XXX","domain":"foo-corp.com"}, {"object":"directory","id":"directory_edp_2","external_key":"lA3g","state":"linked","type":"okta scim v2.0","name":"Example", "bearer_token":null,"client_id":"project_XXX","domain":"example.com"}, {"object":"directory","id":"directory_edp_3","external_key":"lA3gS1kC","state":"linked","type":"bamboohr","name":"Acme","bearer_token":null,"client_id":"project_XXX","domain":"acme.com"}]}'
68
+ encoding: UTF-8
69
+ string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"directory_01F7796W20KW0CXEQQEYENT0ZC","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Bamboo
70
+ Test","external_key":"rPzV4pdpbaUiKsc6","type":"bamboohr","state":"unlinked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
71
+ Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5XHH1QHX6C2F0Z6WG9YPGCJ","organization_id":"org_01F29YJ068E52HGEB8ZQGC9MJG","name":"Example
72
+ Azure SCIM","external_key":"YDKJvbWHKKg66cSk","type":"azure scim v2.0","state":"linked","domain":"example.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
70
73
  http_version:
71
- recorded_at: Thu, 22 Apr 2021 21:33:49 GMT
74
+ recorded_at: Mon, 07 Jun 2021 17:55:30 GMT
72
75
  recorded_with: VCR 5.0.0
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.10.3
17
+ - WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -53,7 +53,7 @@ http_interactions:
53
53
  X-Xss-Protection:
54
54
  - '0'
55
55
  X-Request-Id:
56
- - ee432766-24b5-4d6d-baa9-05b7d56ac582
56
+ - d5e27591-7a56-468c-bffe-3a035f3bf26c
57
57
  Content-Type:
58
58
  - application/json; charset=utf-8
59
59
  Content-Length:
@@ -61,12 +61,15 @@ http_interactions:
61
61
  Etag:
62
62
  - W/"47-5KOnfOsRy36pnaPjBxvaf6LRiGc"
63
63
  Date:
64
- - Thu, 22 Apr 2021 21:33:48 GMT
64
+ - Mon, 07 Jun 2021 17:55:30 GMT
65
65
  Via:
66
66
  - 1.1 vegur
67
67
  body:
68
68
  encoding: UTF-8
69
- string: '{"object":"list","listMetadata":{"before":"before-id","after":null},"data":[{"object":"directory","id":"directory_edp_1","external_key":"lA3gS1kCZMCkk82E","state":"linked","type":"gsuite directory","name":"Foo Corp","bearer_token":null,"client_id":"project_XXX","domain":"foo-corp.com"}, {"object":"directory","id":"directory_edp_2","external_key":"lA3g","state":"linked","type":"okta scim v2.0","name":"Example", "bearer_token":null,"client_id":"project_XXX","domain":"example.com"}, {"object":"directory","id":"directory_edp_3","external_key":"lA3gS1kC","state":"linked","type":"bamboohr","name":"Acme","bearer_token":null,"client_id":"project_XXX","domain":"acme.com"}]}'
69
+ string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"directory_01F7796W20KW0CXEQQEYENT0ZC","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Bamboo
70
+ Test","external_key":"rPzV4pdpbaUiKsc6","type":"bamboohr","state":"unlinked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
71
+ Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5XHH1QHX6C2F0Z6WG9YPGCJ","organization_id":"org_01F29YJ068E52HGEB8ZQGC9MJG","name":"Example
72
+ Azure SCIM","external_key":"YDKJvbWHKKg66cSk","type":"azure scim v2.0","state":"linked","domain":"example.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
70
73
  http_version:
71
- recorded_at: Thu, 22 Apr 2021 21:33:48 GMT
74
+ recorded_at: Mon, 07 Jun 2021 17:55:30 GMT
72
75
  recorded_with: VCR 5.0.0
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.10.3
17
+ - WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -53,21 +53,21 @@ http_interactions:
53
53
  X-Xss-Protection:
54
54
  - '0'
55
55
  X-Request-Id:
56
- - c2664753-7a2a-499f-a6e7-dae700ad49d7
56
+ - d3cd212f-5dc1-4e08-ab1f-69e33bebd9ca
57
57
  Content-Type:
58
58
  - application/json; charset=utf-8
59
59
  Content-Length:
60
- - '256'
60
+ - '539'
61
61
  Etag:
62
- - W/"100-Vh8CFQGzG+aGyEkNXe2nXGxNFJ4"
62
+ - W/"21b-d3KisYEu0vvI9FJFreAktGIgT+c"
63
63
  Date:
64
- - Thu, 22 Apr 2021 21:33:47 GMT
64
+ - Mon, 07 Jun 2021 17:55:29 GMT
65
65
  Via:
66
66
  - 1.1 vegur
67
67
  body:
68
68
  encoding: UTF-8
69
- string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"directory_01EK2YEMVTWGX27STRDR0N3MP9","name":"Foo
70
- Corp","external_key":"SZ5TZMl7gcOAKS04","type":"gsuite directory","state":"linked","domain":"foo-corp.com"}]}'
69
+ string: '{"object":"list","listMetadata":{"before":null,"after":null},"data":[{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
70
+ Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
71
71
  http_version:
72
- recorded_at: Thu, 22 Apr 2021 21:33:47 GMT
72
+ recorded_at: Mon, 07 Jun 2021 17:55:29 GMT
73
73
  recorded_with: VCR 5.0.0
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.10.3
17
+ - WorkOS; ruby/3.0.1; x86_64-darwin19; v1.2.1
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -53,22 +53,22 @@ http_interactions:
53
53
  X-Xss-Protection:
54
54
  - '0'
55
55
  X-Request-Id:
56
- - 428c7b66-d05a-4055-8bad-3411cce2af98
56
+ - 64e81466-93f3-4496-a218-53982dbf6614
57
57
  Content-Type:
58
58
  - application/json; charset=utf-8
59
59
  Content-Length:
60
- - '509'
60
+ - '573'
61
61
  Etag:
62
- - W/"1fd-xSekCggfEeBaxDK/LwXVh/ANf8E"
62
+ - W/"23d-dw0vE9mpthzl0ajnZ3YLimmU4ZU"
63
63
  Date:
64
- - Thu, 22 Apr 2021 21:33:49 GMT
64
+ - Mon, 07 Jun 2021 17:55:31 GMT
65
65
  Via:
66
66
  - 1.1 vegur
67
67
  body:
68
68
  encoding: UTF-8
69
- string: '{"object":"list","listMetadata":{"before":"directory_01F3DR5PASNQN7Z41K933Q12BM","after":null},"data":[{"object":"directory","id":"directory_01F3TMHZ5786V0BW141Q3G6XWX","name":"NEW
70
- Azure AD SCIM","external_key":"RfEhaHYmukAQgqME","type":"azure scim v2.0","state":"linked","domain":"sheldonvaughn.com"},{"object":"directory","id":"directory_01F3DR5PASNQN7Z41K933Q12BM","name":"Example
71
- Workday Company, Inc.","external_key":"NGGpjT9hQsiSgOKc","type":"workday","state":"unlinked","domain":"domain.example.com"}]}'
69
+ string: '{"object":"list","listMetadata":{"before":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","after":null},"data":[{"object":"directory","id":"directory_01F7796W20KW0CXEQQEYENT0ZC","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Bamboo
70
+ Test","external_key":"rPzV4pdpbaUiKsc6","type":"bamboohr","state":"unlinked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"},{"object":"directory","id":"directory_01F5ZY7XVQZ3DRYEZTH1EPA8BS","organization_id":"org_01EZDF20TZEJXKPSX2BJRN6TV6","name":"Foo
71
+ Corp","external_key":"qV4eyK99QGUaYYa0","type":"okta scim v2.0","state":"linked","domain":"foo-corp.com", "created_at":"2021-07-02T19:15:39.556Z","updated_at":"2021-07-02T19:31:28.499Z"}]}'
72
72
  http_version:
73
- recorded_at: Thu, 22 Apr 2021 21:33:49 GMT
73
+ recorded_at: Mon, 07 Jun 2021 17:55:31 GMT
74
74
  recorded_with: VCR 5.0.0