relentless_identity 1.0.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 (101) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +143 -0
  4. data/Rakefile +10 -0
  5. data/docs/AccountApi.md +219 -0
  6. data/docs/AliasInfo.md +20 -0
  7. data/docs/BatchSummary.md +26 -0
  8. data/docs/ClientBackgroundJobDetailResponse.md +30 -0
  9. data/docs/ClientBackgroundJobItemResponse.md +48 -0
  10. data/docs/ClientBackgroundJobPageResponse.md +26 -0
  11. data/docs/ClientBackgroundJobResponse.md +76 -0
  12. data/docs/ClientBatchIdentityResponse.md +20 -0
  13. data/docs/ClientFinderResponse.md +34 -0
  14. data/docs/ClientFinderResponseAlias.md +20 -0
  15. data/docs/ClientIdentityResponse.md +34 -0
  16. data/docs/ClientRequestHistoryItem.md +52 -0
  17. data/docs/ClientRequestHistoryPageResponse.md +26 -0
  18. data/docs/ClientTokenStatusResponse.md +28 -0
  19. data/docs/ClientUsageResponse.md +54 -0
  20. data/docs/ErrorResponse.md +24 -0
  21. data/docs/FinderApi.md +77 -0
  22. data/docs/FinderBatchJobRequest.md +22 -0
  23. data/docs/FinderBatchJobRequestInputsInner.md +20 -0
  24. data/docs/FinderRequest.md +20 -0
  25. data/docs/HTTPValidationError.md +18 -0
  26. data/docs/IdentityProvider.md +20 -0
  27. data/docs/JobsApi.md +529 -0
  28. data/docs/LocationInner.md +15 -0
  29. data/docs/ProbeApi.md +147 -0
  30. data/docs/ProbeBatchJobBackgroundRequest.md +22 -0
  31. data/docs/ProbeBatchRequest.md +18 -0
  32. data/docs/ProbeRequest.md +18 -0
  33. data/docs/ValidationError.md +26 -0
  34. data/git_push.sh +57 -0
  35. data/lib/relentless_identity/api/account_api.rb +225 -0
  36. data/lib/relentless_identity/api/finder_api.rb +90 -0
  37. data/lib/relentless_identity/api/jobs_api.rb +535 -0
  38. data/lib/relentless_identity/api/probe_api.rb +158 -0
  39. data/lib/relentless_identity/api_client.rb +397 -0
  40. data/lib/relentless_identity/api_error.rb +58 -0
  41. data/lib/relentless_identity/api_model_base.rb +88 -0
  42. data/lib/relentless_identity/configuration.rb +309 -0
  43. data/lib/relentless_identity/models/alias_info.rb +159 -0
  44. data/lib/relentless_identity/models/batch_summary.rb +318 -0
  45. data/lib/relentless_identity/models/client_background_job_detail_response.rb +307 -0
  46. data/lib/relentless_identity/models/client_background_job_item_response.rb +455 -0
  47. data/lib/relentless_identity/models/client_background_job_page_response.rb +271 -0
  48. data/lib/relentless_identity/models/client_background_job_response.rb +745 -0
  49. data/lib/relentless_identity/models/client_batch_identity_response.rb +194 -0
  50. data/lib/relentless_identity/models/client_finder_response.rb +285 -0
  51. data/lib/relentless_identity/models/client_finder_response_alias.rb +104 -0
  52. data/lib/relentless_identity/models/client_identity_response.rb +285 -0
  53. data/lib/relentless_identity/models/client_request_history_item.rb +450 -0
  54. data/lib/relentless_identity/models/client_request_history_page_response.rb +271 -0
  55. data/lib/relentless_identity/models/client_token_status_response.rb +259 -0
  56. data/lib/relentless_identity/models/client_usage_response.rb +506 -0
  57. data/lib/relentless_identity/models/error_response.rb +178 -0
  58. data/lib/relentless_identity/models/finder_batch_job_request.rb +206 -0
  59. data/lib/relentless_identity/models/finder_batch_job_request_inputs_inner.rb +192 -0
  60. data/lib/relentless_identity/models/finder_request.rb +193 -0
  61. data/lib/relentless_identity/models/http_validation_error.rb +149 -0
  62. data/lib/relentless_identity/models/identity_provider.rb +157 -0
  63. data/lib/relentless_identity/models/location_inner.rb +103 -0
  64. data/lib/relentless_identity/models/probe_batch_job_background_request.rb +206 -0
  65. data/lib/relentless_identity/models/probe_batch_request.rb +186 -0
  66. data/lib/relentless_identity/models/probe_request.rb +166 -0
  67. data/lib/relentless_identity/models/validation_error.rb +237 -0
  68. data/lib/relentless_identity/version.rb +15 -0
  69. data/lib/relentless_identity.rb +69 -0
  70. data/relentless_identity.gemspec +39 -0
  71. data/spec/api/account_api_spec.rb +72 -0
  72. data/spec/api/finder_api_spec.rb +47 -0
  73. data/spec/api/jobs_api_spec.rb +130 -0
  74. data/spec/api/probe_api_spec.rb +59 -0
  75. data/spec/models/alias_info_spec.rb +42 -0
  76. data/spec/models/batch_summary_spec.rb +60 -0
  77. data/spec/models/client_background_job_detail_response_spec.rb +72 -0
  78. data/spec/models/client_background_job_item_response_spec.rb +138 -0
  79. data/spec/models/client_background_job_page_response_spec.rb +60 -0
  80. data/spec/models/client_background_job_response_spec.rb +222 -0
  81. data/spec/models/client_batch_identity_response_spec.rb +42 -0
  82. data/spec/models/client_finder_response_alias_spec.rb +21 -0
  83. data/spec/models/client_finder_response_spec.rb +92 -0
  84. data/spec/models/client_identity_response_spec.rb +92 -0
  85. data/spec/models/client_request_history_item_spec.rb +150 -0
  86. data/spec/models/client_request_history_page_response_spec.rb +60 -0
  87. data/spec/models/client_token_status_response_spec.rb +70 -0
  88. data/spec/models/client_usage_response_spec.rb +144 -0
  89. data/spec/models/error_response_spec.rb +54 -0
  90. data/spec/models/finder_batch_job_request_inputs_inner_spec.rb +42 -0
  91. data/spec/models/finder_batch_job_request_spec.rb +48 -0
  92. data/spec/models/finder_request_spec.rb +42 -0
  93. data/spec/models/http_validation_error_spec.rb +36 -0
  94. data/spec/models/identity_provider_spec.rb +42 -0
  95. data/spec/models/location_inner_spec.rb +21 -0
  96. data/spec/models/probe_batch_job_background_request_spec.rb +48 -0
  97. data/spec/models/probe_batch_request_spec.rb +36 -0
  98. data/spec/models/probe_request_spec.rb +36 -0
  99. data/spec/models/validation_error_spec.rb +60 -0
  100. data/spec/spec_helper.rb +111 -0
  101. metadata +213 -0
@@ -0,0 +1,20 @@
1
+ # RelentlessIdentity::ClientFinderResponseAlias
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **original** | **String** | | [optional] |
8
+ | **resolved** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'relentless_identity'
14
+
15
+ instance = RelentlessIdentity::ClientFinderResponseAlias.new(
16
+ original: null,
17
+ resolved: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,34 @@
1
+ # RelentlessIdentity::ClientIdentityResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **state** | **String** | Final public deliverability verdict. | |
8
+ | **outcome** | **String** | Operational outcome. `error` means the verification could not complete cleanly and should not be treated as a negative mailbox verdict. | [optional] |
9
+ | **address** | **String** | | [optional] |
10
+ | **is_alias** | **Boolean** | Whether the resolved address is an alias rather than a primary mailbox. | [optional] |
11
+ | **_alias** | [**ClientFinderResponseAlias**](ClientFinderResponseAlias.md) | | [optional] |
12
+ | **is_catchall** | **Boolean** | Whether the mailbox domain behaved like a catch-all during verification. | [optional] |
13
+ | **identity_providers** | [**Array<IdentityProvider>**](IdentityProvider.md) | Identity providers associated with the mailbox domain when available. | [optional] |
14
+ | **mx_hosts** | **Array<String>** | Observed MX hosts for the mailbox domain. | [optional] |
15
+ | **request_id** | **String** | | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'relentless_identity'
21
+
22
+ instance = RelentlessIdentity::ClientIdentityResponse.new(
23
+ state: null,
24
+ outcome: null,
25
+ address: null,
26
+ is_alias: null,
27
+ _alias: null,
28
+ is_catchall: null,
29
+ identity_providers: null,
30
+ mx_hosts: null,
31
+ request_id: null
32
+ )
33
+ ```
34
+
@@ -0,0 +1,52 @@
1
+ # RelentlessIdentity::ClientRequestHistoryItem
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | | |
8
+ | **request_type** | **String** | | |
9
+ | **input_name** | **String** | | [optional] |
10
+ | **input_domain** | **String** | | [optional] |
11
+ | **input_email** | **String** | | [optional] |
12
+ | **input_label** | **String** | Compact human-readable identifier for the original request input. | |
13
+ | **state** | **String** | | |
14
+ | **outcome** | **String** | | |
15
+ | **resolved_address** | **String** | | [optional] |
16
+ | **duration_ms** | **Integer** | | [optional] |
17
+ | **provider** | **String** | | [optional] |
18
+ | **identity_providers** | **Array<Hash<String, Object>>** | | [optional] |
19
+ | **mx_hosts** | **Array<String>** | | [optional] |
20
+ | **metadata** | **Hash<String, Object>** | Small transport and outcome metadata associated with the request. | [optional] |
21
+ | **is_alias** | **Boolean** | | [optional][default to false] |
22
+ | **is_catchall** | **Boolean** | | [optional][default to false] |
23
+ | **request_id** | **String** | | [optional] |
24
+ | **created_at** | **Time** | | |
25
+
26
+ ## Example
27
+
28
+ ```ruby
29
+ require 'relentless_identity'
30
+
31
+ instance = RelentlessIdentity::ClientRequestHistoryItem.new(
32
+ id: null,
33
+ request_type: null,
34
+ input_name: null,
35
+ input_domain: null,
36
+ input_email: null,
37
+ input_label: null,
38
+ state: null,
39
+ outcome: null,
40
+ resolved_address: null,
41
+ duration_ms: null,
42
+ provider: null,
43
+ identity_providers: null,
44
+ mx_hosts: null,
45
+ metadata: null,
46
+ is_alias: null,
47
+ is_catchall: null,
48
+ request_id: null,
49
+ created_at: null
50
+ )
51
+ ```
52
+
@@ -0,0 +1,26 @@
1
+ # RelentlessIdentity::ClientRequestHistoryPageResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **items** | [**Array<ClientRequestHistoryItem>**](ClientRequestHistoryItem.md) | | |
8
+ | **total** | **Integer** | | |
9
+ | **page** | **Integer** | | |
10
+ | **page_size** | **Integer** | | |
11
+ | **total_pages** | **Integer** | | |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'relentless_identity'
17
+
18
+ instance = RelentlessIdentity::ClientRequestHistoryPageResponse.new(
19
+ items: null,
20
+ total: null,
21
+ page: null,
22
+ page_size: null,
23
+ total_pages: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,28 @@
1
+ # RelentlessIdentity::ClientTokenStatusResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **valid** | **Boolean** | Whether the current bearer token is valid for this request. | [optional] |
8
+ | **user_id** | **String** | User id associated with the bearer token. | |
9
+ | **token_type** | **String** | How the bearer token was issued. | |
10
+ | **scopes** | **Array<String>** | Scopes currently attached to the bearer token. | [optional] |
11
+ | **expires_at** | **Time** | | [optional] |
12
+ | **expires_in_seconds** | **Integer** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'relentless_identity'
18
+
19
+ instance = RelentlessIdentity::ClientTokenStatusResponse.new(
20
+ valid: null,
21
+ user_id: null,
22
+ token_type: null,
23
+ scopes: null,
24
+ expires_at: null,
25
+ expires_in_seconds: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,54 @@
1
+ # RelentlessIdentity::ClientUsageResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **plan_tier** | **String** | Current plan family, such as free or paid. | |
8
+ | **billing_mode** | **String** | | |
9
+ | **billing_status** | **String** | | [optional] |
10
+ | **free_window_limit** | **Integer** | | |
11
+ | **free_window_hours** | **Integer** | | |
12
+ | **free_weekly_limit** | **Integer** | | |
13
+ | **window_requests_used** | **Integer** | | |
14
+ | **weekly_requests_used** | **Integer** | | |
15
+ | **window_requests_remaining** | **Integer** | | |
16
+ | **weekly_requests_remaining** | **Integer** | | |
17
+ | **billing_cycle_value_micros** | **Integer** | | [optional] |
18
+ | **billing_extra_value_micros** | **Integer** | | |
19
+ | **billing_value_micros_used** | **Integer** | | |
20
+ | **billing_value_micros_reserved** | **Integer** | Paid usage value currently reserved by queued or running background jobs. | [optional] |
21
+ | **billing_value_micros_remaining** | **Integer** | | [optional] |
22
+ | **usage_percent_remaining** | **Float** | | [optional] |
23
+ | **current_plan_finder_deliverable_cost_micros** | **Integer** | | [optional] |
24
+ | **current_plan_finder_undeliverable_cost_micros** | **Integer** | | [optional] |
25
+ | **current_plan_probe_cost_micros** | **Integer** | | [optional] |
26
+
27
+ ## Example
28
+
29
+ ```ruby
30
+ require 'relentless_identity'
31
+
32
+ instance = RelentlessIdentity::ClientUsageResponse.new(
33
+ plan_tier: null,
34
+ billing_mode: null,
35
+ billing_status: null,
36
+ free_window_limit: null,
37
+ free_window_hours: null,
38
+ free_weekly_limit: null,
39
+ window_requests_used: null,
40
+ weekly_requests_used: null,
41
+ window_requests_remaining: null,
42
+ weekly_requests_remaining: null,
43
+ billing_cycle_value_micros: null,
44
+ billing_extra_value_micros: null,
45
+ billing_value_micros_used: null,
46
+ billing_value_micros_reserved: null,
47
+ billing_value_micros_remaining: null,
48
+ usage_percent_remaining: null,
49
+ current_plan_finder_deliverable_cost_micros: null,
50
+ current_plan_finder_undeliverable_cost_micros: null,
51
+ current_plan_probe_cost_micros: null
52
+ )
53
+ ```
54
+
@@ -0,0 +1,24 @@
1
+ # RelentlessIdentity::ErrorResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **error** | **String** | Stable machine-readable error key. | [optional] |
8
+ | **message** | **String** | Human-friendly error summary safe to show to an operator or end user. | [optional] |
9
+ | **detail** | **String** | Optional raw backend detail when available. | [optional] |
10
+ | **retry_after_seconds** | **Integer** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'relentless_identity'
16
+
17
+ instance = RelentlessIdentity::ErrorResponse.new(
18
+ error: null,
19
+ message: null,
20
+ detail: null,
21
+ retry_after_seconds: null
22
+ )
23
+ ```
24
+
data/docs/FinderApi.md ADDED
@@ -0,0 +1,77 @@
1
+ # RelentlessIdentity::FinderApi
2
+
3
+ All URIs are relative to *https://api.relentlessidentity.com*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**finder_attempt**](FinderApi.md#finder_attempt) | **POST** /client/attempt | Find a work email |
8
+
9
+
10
+ ## finder_attempt
11
+
12
+ > <ClientFinderResponse> finder_attempt(finder_request)
13
+
14
+ Find a work email
15
+
16
+ Send a full name and company domain to resolve the most likely verified work email.
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'relentless_identity'
23
+ # setup authorization
24
+ RelentlessIdentity.configure do |config|
25
+ # Configure Bearer authorization (PAT): bearerAuth
26
+ config.access_token = 'YOUR_BEARER_TOKEN'
27
+ end
28
+
29
+ api_instance = RelentlessIdentity::FinderApi.new
30
+ finder_request = RelentlessIdentity::FinderRequest.new({full_name: 'Jane Doe', email_domain: 'acme.com'}) # FinderRequest |
31
+
32
+ begin
33
+ # Find a work email
34
+ result = api_instance.finder_attempt(finder_request)
35
+ p result
36
+ rescue RelentlessIdentity::ApiError => e
37
+ puts "Error when calling FinderApi->finder_attempt: #{e}"
38
+ end
39
+ ```
40
+
41
+ #### Using the finder_attempt_with_http_info variant
42
+
43
+ This returns an Array which contains the response data, status code and headers.
44
+
45
+ > <Array(<ClientFinderResponse>, Integer, Hash)> finder_attempt_with_http_info(finder_request)
46
+
47
+ ```ruby
48
+ begin
49
+ # Find a work email
50
+ data, status_code, headers = api_instance.finder_attempt_with_http_info(finder_request)
51
+ p status_code # => 2xx
52
+ p headers # => { ... }
53
+ p data # => <ClientFinderResponse>
54
+ rescue RelentlessIdentity::ApiError => e
55
+ puts "Error when calling FinderApi->finder_attempt_with_http_info: #{e}"
56
+ end
57
+ ```
58
+
59
+ ### Parameters
60
+
61
+ | Name | Type | Description | Notes |
62
+ | ---- | ---- | ----------- | ----- |
63
+ | **finder_request** | [**FinderRequest**](FinderRequest.md) | | |
64
+
65
+ ### Return type
66
+
67
+ [**ClientFinderResponse**](ClientFinderResponse.md)
68
+
69
+ ### Authorization
70
+
71
+ [bearerAuth](../README.md#bearerAuth)
72
+
73
+ ### HTTP request headers
74
+
75
+ - **Content-Type**: application/json
76
+ - **Accept**: application/json
77
+
@@ -0,0 +1,22 @@
1
+ # RelentlessIdentity::FinderBatchJobRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **deadline** | **Time** | Optional hard deadline for the job. Omit it to start as soon as capacity allows. If provided, the API returns 422 when the deadline is too tight even with immediate execution. | [optional] |
8
+ | **callback_url** | **String** | | [optional] |
9
+ | **inputs** | [**Array&lt;FinderBatchJobRequestInputsInner&gt;**](FinderBatchJobRequestInputsInner.md) | One or more Finder-style inputs that will be processed asynchronously. | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'relentless_identity'
15
+
16
+ instance = RelentlessIdentity::FinderBatchJobRequest.new(
17
+ deadline: 2027-01-02T00:00Z,
18
+ callback_url: null,
19
+ inputs: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,20 @@
1
+ # RelentlessIdentity::FinderBatchJobRequestInputsInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **full_name** | **String** | The real person&#39;s full name. | |
8
+ | **email_domain** | **String** | The company website or mailbox domain. | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'relentless_identity'
14
+
15
+ instance = RelentlessIdentity::FinderBatchJobRequestInputsInner.new(
16
+ full_name: Jane Doe,
17
+ email_domain: acme.com
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # RelentlessIdentity::FinderRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **full_name** | **String** | The real person&#39;s full name. Include middle names or initials when known. | |
8
+ | **email_domain** | **String** | The company&#39;s public website or mailbox domain. | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'relentless_identity'
14
+
15
+ instance = RelentlessIdentity::FinderRequest.new(
16
+ full_name: Jane Doe,
17
+ email_domain: acme.com
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # RelentlessIdentity::HTTPValidationError
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **detail** | [**Array&lt;ValidationError&gt;**](ValidationError.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'relentless_identity'
13
+
14
+ instance = RelentlessIdentity::HTTPValidationError.new(
15
+ detail: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,20 @@
1
+ # RelentlessIdentity::IdentityProvider
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **provider** | **String** | | [optional] |
8
+ | **hostname** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'relentless_identity'
14
+
15
+ instance = RelentlessIdentity::IdentityProvider.new(
16
+ provider: okta,
17
+ hostname: null
18
+ )
19
+ ```
20
+