dnsimple 9.0.1 → 11.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.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +5 -7
- data/.github/workflows/ci.yml +4 -4
- data/.github/workflows/release.yml +2 -2
- data/.github/workflows/sync-test-fixtures.yml +55 -0
- data/.markdownlint.yaml +15 -1
- data/.rubocop.yml +1 -1
- data/.rubocop_dnsimple.yml +14 -30
- data/CHANGELOG.md +9 -0
- data/Gemfile +7 -7
- data/LICENSE.txt +1 -1
- data/README.md +3 -3
- data/lib/dnsimple/client/clients.rb +29 -31
- data/lib/dnsimple/client/domains_email_forwards.rb +1 -1
- data/lib/dnsimple/client.rb +5 -5
- data/lib/dnsimple/default.rb +7 -7
- data/lib/dnsimple/response.rb +3 -3
- data/lib/dnsimple/struct/charge.rb +1 -1
- data/lib/dnsimple/struct/email_forward.rb +0 -8
- data/lib/dnsimple/struct.rb +40 -40
- data/lib/dnsimple/version.rb +1 -1
- data/lib/dnsimple.rb +5 -5
- data/spec/dnsimple/client/accounts_spec.rb +2 -2
- data/spec/dnsimple/client/billing_spec.rb +3 -3
- data/spec/dnsimple/client/certificates_spec.rb +11 -11
- data/spec/dnsimple/client/client_service_spec.rb +1 -1
- data/spec/dnsimple/client/contacts_spec.rb +6 -6
- data/spec/dnsimple/client/dns_analytics_spec.rb +9 -9
- data/spec/dnsimple/client/domains_delegation_signer_records_spec.rb +5 -5
- data/spec/dnsimple/client/domains_dnssec_spec.rb +4 -4
- data/spec/dnsimple/client/domains_email_forwards_spec.rb +8 -15
- data/spec/dnsimple/client/domains_pushes_spec.rb +5 -5
- data/spec/dnsimple/client/domains_spec.rb +6 -6
- data/spec/dnsimple/client/identity_spec.rb +2 -2
- data/spec/dnsimple/client/oauth_spec.rb +3 -3
- data/spec/dnsimple/client/registrar_auto_renewal_spec.rb +3 -3
- data/spec/dnsimple/client/registrar_delegation_spec.rb +1 -1
- data/spec/dnsimple/client/registrar_spec.rb +1 -1
- data/spec/dnsimple/client/registrar_transfer_lock_spec.rb +4 -4
- data/spec/dnsimple/client/registrar_whois_privacy_spec.rb +1 -1
- data/spec/dnsimple/client/services_domains_spec.rb +4 -4
- data/spec/dnsimple/client/services_spec.rb +1 -1
- data/spec/dnsimple/client/templates_domains_spec.rb +2 -2
- data/spec/dnsimple/client/templates_records_spec.rb +4 -4
- data/spec/dnsimple/client/templates_spec.rb +2 -2
- data/spec/dnsimple/client/tlds_spec.rb +5 -5
- data/spec/dnsimple/client/vanity_name_servers_spec.rb +1 -1
- data/spec/dnsimple/client/webhooks_spec.rb +5 -5
- data/spec/dnsimple/client/zones_distributions_spec.rb +3 -3
- data/spec/dnsimple/client/zones_records_spec.rb +7 -7
- data/spec/dnsimple/client/zones_spec.rb +6 -6
- data/spec/dnsimple/client_spec.rb +10 -10
- data/spec/dnsimple/extra_spec.rb +1 -1
- data/spec/dnsimple/options/base_spec.rb +5 -5
- data/spec/dnsimple/options/list_options_spec.rb +21 -21
- data/spec/fixtures.http/accounts/success-user.http +2 -1
- data/spec/fixtures.http/checkRegistrantChange/error-contactnotfound.http +4 -4
- data/spec/fixtures.http/checkRegistrantChange/error-domainnotfound.http +4 -4
- data/spec/fixtures.http/checkRegistrantChange/success.http +5 -5
- data/spec/fixtures.http/createContact/error-validation-errors.http +18 -0
- data/spec/fixtures.http/createEmailForward/created.http +1 -2
- data/spec/fixtures.http/createRegistrantChange/success.http +5 -5
- data/spec/fixtures.http/createWebhook/created.http +16 -16
- data/spec/fixtures.http/deleteRegistrantChange/success.http +4 -4
- data/spec/fixtures.http/deleteRegistrantChange/success_async.http +14 -0
- data/spec/fixtures.http/dnsAnalytics/success.http +1 -1
- data/spec/fixtures.http/getDomainPrices/failure.http +18 -18
- data/spec/fixtures.http/getDomainPrices/success.http +21 -21
- data/spec/fixtures.http/getDomainRestore/success.http +13 -14
- data/spec/fixtures.http/getEmailForward/success.http +1 -2
- data/spec/fixtures.http/getRegistrantChange/success.http +5 -5
- data/spec/fixtures.http/getTld/success.http +1 -1
- data/spec/fixtures.http/getWebhook/success.http +16 -16
- data/spec/fixtures.http/listAccounts/success-user.http +1 -1
- data/spec/fixtures.http/listCharges/fail-400-bad-filter.http +0 -2
- data/spec/fixtures.http/listCharges/fail-403.http +0 -2
- data/spec/fixtures.http/listCharges/success.http +0 -2
- data/spec/fixtures.http/listEmailForwards/success.http +1 -1
- data/spec/fixtures.http/listRegistrantChanges/success.http +5 -5
- data/spec/fixtures.http/listTlds/success.http +1 -1
- data/spec/fixtures.http/listWebhooks/success.http +16 -16
- data/spec/fixtures.http/registerDomain/error-extended-attributes.http +18 -0
- data/spec/fixtures.http/restoreDomain/success.http +12 -13
- data/spec/fixtures.http/updateZoneNsRecords/success.http +16 -0
- data/spec/fixtures.http/whoami/success-account.http +1 -1
- data/spec/fixtures.http/whoami/success.http +1 -1
- data/spec/spec_helper.rb +4 -4
- data/spec/support/webmock.rb +1 -1
- metadata +7 -11
- data/.github/CODEOWNERS +0 -1
- data/.github/workflows/auto-merge.yml +0 -32
- data/lib/dnsimple/client/domains_collaborators.rb +0 -87
- data/spec/dnsimple/client/domains_collaborators_spec.rb +0 -164
- data/spec/fixtures.http/addCollaborator/invite-success.http +0 -20
- data/spec/fixtures.http/addCollaborator/success.http +0 -20
- data/spec/fixtures.http/listCollaborators/success.http +0 -20
- data/spec/fixtures.http/notfound-collaborator.http +0 -15
- data/spec/fixtures.http/removeCollaborator/success.http +0 -17
@@ -1,29 +1,29 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "spec_helper"
|
4
4
|
|
5
5
|
RSpec.describe Dnsimple::Options::ListOptions do
|
6
|
-
describe
|
7
|
-
it
|
6
|
+
describe "#to_h" do
|
7
|
+
it "returns empty hash if given options equal to nil" do
|
8
8
|
options = described_class.new(nil)
|
9
9
|
expect(options.to_h).to eq({})
|
10
10
|
end
|
11
11
|
|
12
|
-
it
|
12
|
+
it "returns empty hash if given options are empty" do
|
13
13
|
options = described_class.new({})
|
14
14
|
expect(options.to_h).to eq({})
|
15
15
|
end
|
16
16
|
|
17
|
-
describe
|
17
|
+
describe "query" do
|
18
18
|
it 'adds "query" key if given options are filled' do
|
19
19
|
options = described_class.new(a: 1)
|
20
20
|
expect(options.to_h).to have_key(:query)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
describe
|
24
|
+
describe "pagination" do
|
25
25
|
it 'adds "page" to "query"' do
|
26
|
-
raw = { page:
|
26
|
+
raw = { page: "23" }
|
27
27
|
expected = { query: raw }
|
28
28
|
options = described_class.new(raw)
|
29
29
|
|
@@ -31,7 +31,7 @@ RSpec.describe Dnsimple::Options::ListOptions do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'adds "per_page" to "query"' do
|
34
|
-
raw = { per_page:
|
34
|
+
raw = { per_page: "500" }
|
35
35
|
expected = { query: raw }
|
36
36
|
options = described_class.new(raw)
|
37
37
|
|
@@ -39,7 +39,7 @@ RSpec.describe Dnsimple::Options::ListOptions do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'combines "page" and "per_page"' do
|
42
|
-
raw = { page:
|
42
|
+
raw = { page: "1", per_page: "100" }
|
43
43
|
expected = { query: raw }
|
44
44
|
options = described_class.new(raw)
|
45
45
|
|
@@ -47,25 +47,25 @@ RSpec.describe Dnsimple::Options::ListOptions do
|
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
|
-
describe
|
50
|
+
describe "sorting" do
|
51
51
|
it 'adds sorting policy to "query"' do
|
52
|
-
raw = { sort:
|
52
|
+
raw = { sort: "name:desc" }
|
53
53
|
expected = { query: raw }
|
54
54
|
options = described_class.new(raw)
|
55
55
|
|
56
56
|
expect(options.to_h).to eq(expected)
|
57
57
|
end
|
58
58
|
|
59
|
-
it
|
60
|
-
raw = { sort:
|
59
|
+
it "combines with filtering" do
|
60
|
+
raw = { sort: "name:desc", filter: { name: "foo" } }
|
61
61
|
expected = { query: { sort: raw.fetch(:sort) }.merge(raw.fetch(:filter)) }
|
62
62
|
options = described_class.new(raw)
|
63
63
|
|
64
64
|
expect(options.to_h).to eq(expected)
|
65
65
|
end
|
66
66
|
|
67
|
-
it
|
68
|
-
raw = { sort:
|
67
|
+
it "combines with pagination" do
|
68
|
+
raw = { sort: "name:desc", page: "2", per_page: "100" }
|
69
69
|
expected = { query: raw }
|
70
70
|
options = described_class.new(raw)
|
71
71
|
|
@@ -73,25 +73,25 @@ RSpec.describe Dnsimple::Options::ListOptions do
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
describe
|
76
|
+
describe "filtering" do
|
77
77
|
it 'adds filtering policy to "query"' do
|
78
|
-
raw = { filter: { name_like:
|
78
|
+
raw = { filter: { name_like: "example" } }
|
79
79
|
expected = { query: raw.fetch(:filter) }
|
80
80
|
options = described_class.new(raw)
|
81
81
|
|
82
82
|
expect(options.to_h).to eq(expected)
|
83
83
|
end
|
84
84
|
|
85
|
-
it
|
86
|
-
raw = { filter: { name_like:
|
85
|
+
it "combines with sorting" do
|
86
|
+
raw = { filter: { name_like: "bar" }, sort: "tld:desc" }
|
87
87
|
expected = { query: raw.fetch(:filter).merge(sort: raw.fetch(:sort)) }
|
88
88
|
options = described_class.new(raw)
|
89
89
|
|
90
90
|
expect(options.to_h).to eq(expected)
|
91
91
|
end
|
92
92
|
|
93
|
-
it
|
94
|
-
raw = { filter: { name_like:
|
93
|
+
it "combines with pagination" do
|
94
|
+
raw = { filter: { name_like: "example" }, page: "1", per_page: "20" }
|
95
95
|
expected = { query: { page: raw.fetch(:page), per_page: raw.fetch(:per_page) }.merge(raw.fetch(:filter)) }
|
96
96
|
options = described_class.new(raw)
|
97
97
|
|
@@ -17,4 +17,5 @@ X-Permitted-Cross-Domain-Policies: none
|
|
17
17
|
X-XSS-Protection: 1; mode=block
|
18
18
|
Strict-Transport-Security: max-age=31536000
|
19
19
|
|
20
|
-
{"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","plan_identifier":"
|
20
|
+
{"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","plan_identifier":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
|
21
|
+
|
@@ -2,13 +2,13 @@ HTTP/1.1 404
|
|
2
2
|
server: nginx
|
3
3
|
date: Tue, 22 Aug 2023 13:59:02 GMT
|
4
4
|
content-type: application/json; charset=utf-8
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2398
|
7
|
+
X-RateLimit-Reset: 1692716201
|
8
8
|
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
9
|
cache-control: no-cache
|
10
10
|
x-request-id: b1dd3f42-ebb9-42fd-a121-d595de96f667
|
11
11
|
x-runtime: 0.019122
|
12
12
|
strict-transport-security: max-age=63072000
|
13
13
|
|
14
|
-
{"message":"Contact `21` not found"}
|
14
|
+
{"message":"Contact `21` not found"}
|
@@ -2,9 +2,9 @@ HTTP/1.1 404
|
|
2
2
|
server: nginx
|
3
3
|
date: Tue, 22 Aug 2023 11:09:40 GMT
|
4
4
|
content-type: application/json; charset=utf-8
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2395
|
7
|
+
X-RateLimit-Reset: 1692705338
|
8
8
|
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
9
|
etag: W/"cef1e7d85d0b9bfd25e81b812891d34f"
|
10
10
|
cache-control: max-age=0, private, must-revalidate
|
@@ -12,4 +12,4 @@ x-request-id: 5b0d8bfb-7b6a-40b5-a079-b640fd817e34
|
|
12
12
|
x-runtime: 3.066249
|
13
13
|
strict-transport-security: max-age=63072000
|
14
14
|
|
15
|
-
{"message":"Domain `
|
15
|
+
{"message":"Domain `dnsimple-rraform.bio` not found"}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
HTTP/1.1 200
|
1
|
+
HTTP/1.1 200
|
2
2
|
server: nginx
|
3
3
|
date: Tue, 22 Aug 2023 11:09:40 GMT
|
4
4
|
content-type: application/json; charset=utf-8
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2395
|
7
|
+
X-RateLimit-Reset: 1692705338
|
8
8
|
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
9
|
etag: W/"cef1e7d85d0b9bfd25e81b812891d34f"
|
10
10
|
cache-control: max-age=0, private, must-revalidate
|
@@ -12,4 +12,4 @@ x-request-id: 5b0d8bfb-7b6a-40b5-a079-b640fd817e34
|
|
12
12
|
x-runtime: 3.066249
|
13
13
|
strict-transport-security: max-age=63072000
|
14
14
|
|
15
|
-
{"data":{"domain_id":101,"contact_id":101,"extended_attributes":[],"registry_owner_change":true}}
|
15
|
+
{"data":{"domain_id":101,"contact_id":101,"extended_attributes":[],"registry_owner_change":true}}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
HTTP/1.1 400 Bad Request
|
2
|
+
Server: nginx
|
3
|
+
Date: Wed, 23 Nov 2016 08:12:57 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
X-RateLimit-Limit: 2400
|
7
|
+
X-RateLimit-Remaining: 2396
|
8
|
+
X-RateLimit-Reset: 1479892333
|
9
|
+
Cache-Control: no-cache
|
10
|
+
X-Request-Id: 91dcf81b-5df4-4d45-b37e-446f0c422a27
|
11
|
+
X-Runtime: 0.062556
|
12
|
+
X-Content-Type-Options: nosniff
|
13
|
+
X-Download-Options: noopen
|
14
|
+
X-Frame-Options: DENY
|
15
|
+
X-Permitted-Cross-Domain-Policies: none
|
16
|
+
X-XSS-Protection: 1; mode=block
|
17
|
+
|
18
|
+
{"message":"Validation failed","errors":{"address1":["can't be blank"],"city":["can't be blank"],"country":["can't be blank"],"email":["can't be blank","is an invalid email address"],"first_name":["can't be blank"],"last_name":["can't be blank"],"phone":["can't be blank","is probably not a phone number"],"postal_code":["can't be blank"],"state_province":["can't be blank"]}}
|
@@ -2,7 +2,6 @@ HTTP/1.1 201 Created
|
|
2
2
|
Server: nginx
|
3
3
|
Date: Mon, 25 Jan 2021 13:54:40 GMT
|
4
4
|
Content-Type: application/json; charset=utf-8
|
5
|
-
Transfer-Encoding: identity
|
6
5
|
Connection: keep-alive
|
7
6
|
X-RateLimit-Limit: 4800
|
8
7
|
X-RateLimit-Remaining: 4772
|
@@ -19,4 +18,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
19
18
|
Content-Security-Policy: frame-ancestors 'none'
|
20
19
|
Strict-Transport-Security: max-age=31536000
|
21
20
|
|
22
|
-
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com"}}
|
21
|
+
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com","active":true}}
|
@@ -1,14 +1,14 @@
|
|
1
|
-
HTTP/1.1 202
|
1
|
+
HTTP/1.1 202
|
2
2
|
server: nginx
|
3
3
|
date: Tue, 22 Aug 2023 11:11:00 GMT
|
4
4
|
content-type: application/json; charset=utf-8
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2394
|
7
|
+
X-RateLimit-Reset: 1692705339
|
8
8
|
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
9
|
cache-control: no-cache
|
10
10
|
x-request-id: 26bf7ff9-2075-42b0-9431-1778c825b6b0
|
11
11
|
x-runtime: 3.408950
|
12
12
|
strict-transport-security: max-age=63072000
|
13
13
|
|
14
|
-
{"data":{"id":101,"account_id":101,"domain_id":101,"contact_id":101,"state":"new","extended_attributes":{},"registry_owner_change":true,"irt_lock_lifted_by":null,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}}
|
14
|
+
{"data":{"id":101,"account_id":101,"domain_id":101,"contact_id":101,"state":"new","extended_attributes":{},"registry_owner_change":true,"irt_lock_lifted_by":null,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}}
|
@@ -1,16 +1,16 @@
|
|
1
|
-
HTTP/1.1 201 Created
|
2
|
-
Server: nginx
|
3
|
-
Date: Mon, 15 Feb 2016 17:04:38 GMT
|
4
|
-
Content-Type: application/json; charset=utf-8
|
5
|
-
Connection: keep-alive
|
6
|
-
Status: 201 Created
|
7
|
-
X-RateLimit-Limit: 4000
|
8
|
-
X-RateLimit-Remaining: 3996
|
9
|
-
X-RateLimit-Reset: 1455559348
|
10
|
-
ETag: W/"a4b43ee926d18d0839f1eae08e78c66b"
|
11
|
-
Cache-Control: max-age=0, private, must-revalidate
|
12
|
-
X-Request-Id: dca89281-416a-4766-9428-d0295f58586e
|
13
|
-
X-Runtime: 0.175179
|
14
|
-
Strict-Transport-Security: max-age=31536000
|
15
|
-
|
16
|
-
{"data":{"id":1,"url":"https://webhook.test"}}
|
1
|
+
HTTP/1.1 201 Created
|
2
|
+
Server: nginx
|
3
|
+
Date: Mon, 15 Feb 2016 17:04:38 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
Status: 201 Created
|
7
|
+
X-RateLimit-Limit: 4000
|
8
|
+
X-RateLimit-Remaining: 3996
|
9
|
+
X-RateLimit-Reset: 1455559348
|
10
|
+
ETag: W/"a4b43ee926d18d0839f1eae08e78c66b"
|
11
|
+
Cache-Control: max-age=0, private, must-revalidate
|
12
|
+
X-Request-Id: dca89281-416a-4766-9428-d0295f58586e
|
13
|
+
X-Runtime: 0.175179
|
14
|
+
Strict-Transport-Security: max-age=31536000
|
15
|
+
|
16
|
+
{"data":{"id":1,"url":"https://webhook.test","suppressed_at": null}}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
HTTP/1.1
|
1
|
+
HTTP/1.1 204 No Content
|
2
2
|
server: nginx
|
3
3
|
date: Tue, 22 Aug 2023 11:14:44 GMT
|
4
4
|
content-type: application/json; charset=utf-8
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2391
|
7
|
+
X-RateLimit-Reset: 1692705338
|
8
8
|
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
9
|
cache-control: no-cache
|
10
10
|
x-request-id: b123e1f0-aa70-4abb-95cf-34f377c83ef4
|
@@ -0,0 +1,14 @@
|
|
1
|
+
HTTP/1.1 202
|
2
|
+
server: nginx
|
3
|
+
date: Tue, 22 Aug 2023 11:11:00 GMT
|
4
|
+
content-type: application/json; charset=utf-8
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2394
|
7
|
+
X-RateLimit-Reset: 1692705339
|
8
|
+
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
|
+
cache-control: no-cache
|
10
|
+
x-request-id: 26bf7ff9-2075-42b0-9431-1778c825b6b0
|
11
|
+
x-runtime: 3.408950
|
12
|
+
strict-transport-security: max-age=63072000
|
13
|
+
|
14
|
+
{"data":{"id":101,"account_id":101,"domain_id":101,"contact_id":101,"state":"cancelling","extended_attributes":{},"registry_owner_change":true,"irt_lock_lifted_by":null,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}}
|
@@ -17,4 +17,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
17
17
|
X-XSS-Protection: 1; mode=block
|
18
18
|
Strict-Transport-Security: max-age=31536000
|
19
19
|
|
20
|
-
{"data": {"headers": ["zone_name", "date", "volume"], "rows": [["bar.com", "2023-12-08", 1200], ["bar.com", "2023-12-09", 1200], ["bar.com", "2024-01-07", 1200], ["bar.com", "2024-01-08", 1200], ["example.com", "2023-12-08", 1200], ["example.com", "2023-12-09", 1200], ["example.com", "2024-01-07", 1200], ["example.com", "2024-01-08", 1200], ["foo.com", "2023-12-08", 1200], ["foo.com", "2023-12-09", 1200], ["foo.com", "2024-01-07", 1200], ["foo.com", "2024-01-08", 1200]]}, "query": {"account_id":
|
20
|
+
{"data": {"headers": ["zone_name", "date", "volume"], "rows": [["bar.com", "2023-12-08", 1200], ["bar.com", "2023-12-09", 1200], ["bar.com", "2024-01-07", 1200], ["bar.com", "2024-01-08", 1200], ["example.com", "2023-12-08", 1200], ["example.com", "2023-12-09", 1200], ["example.com", "2024-01-07", 1200], ["example.com", "2024-01-08", 1200], ["foo.com", "2023-12-08", 1200], ["foo.com", "2023-12-09", 1200], ["foo.com", "2024-01-07", 1200], ["foo.com", "2024-01-08", 1200]]}, "query": {"account_id": 1, "start_date": "2023-12-08", "end_date": "2024-01-08", "sort": "zone_name:asc,date:asc", "page": 0, "per_page": 100, "groupings": "zone_name,date"}, "pagination": {"current_page": 0, "per_page": 100, "total_entries": 93, "total_pages": 1}}
|
@@ -1,19 +1,19 @@
|
|
1
|
-
HTTP/1.1 400 Bad Request
|
2
|
-
Server: nginx
|
3
|
-
Date: Mon, 08 Mar 2021 14:35:58 GMT
|
4
|
-
Content-Type: application/json; charset=utf-8
|
5
|
-
Connection: keep-alive
|
6
|
-
X-RateLimit-Limit: 2400
|
7
|
-
X-RateLimit-Remaining: 2396
|
8
|
-
X-RateLimit-Reset: 1615217645
|
9
|
-
Cache-Control: no-cache
|
10
|
-
X-Request-Id: e414a674-63bb-4e54-b714-db5b516bb190
|
11
|
-
X-Runtime: 0.009579
|
12
|
-
X-Frame-Options: DENY
|
13
|
-
X-Content-Type-Options: nosniff
|
14
|
-
X-XSS-Protection: 1; mode=block
|
15
|
-
X-Download-Options: noopen
|
16
|
-
X-Permitted-Cross-Domain-Policies: none
|
17
|
-
Content-Security-Policy: frame-ancestors 'none'
|
18
|
-
|
1
|
+
HTTP/1.1 400 Bad Request
|
2
|
+
Server: nginx
|
3
|
+
Date: Mon, 08 Mar 2021 14:35:58 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
X-RateLimit-Limit: 2400
|
7
|
+
X-RateLimit-Remaining: 2396
|
8
|
+
X-RateLimit-Reset: 1615217645
|
9
|
+
Cache-Control: no-cache
|
10
|
+
X-Request-Id: e414a674-63bb-4e54-b714-db5b516bb190
|
11
|
+
X-Runtime: 0.009579
|
12
|
+
X-Frame-Options: DENY
|
13
|
+
X-Content-Type-Options: nosniff
|
14
|
+
X-XSS-Protection: 1; mode=block
|
15
|
+
X-Download-Options: noopen
|
16
|
+
X-Permitted-Cross-Domain-Policies: none
|
17
|
+
Content-Security-Policy: frame-ancestors 'none'
|
18
|
+
|
19
19
|
{"message":"TLD .PINEAPPLE is not supported"}
|
@@ -1,21 +1,21 @@
|
|
1
|
-
HTTP/1.1 200 OK
|
2
|
-
Server: nginx
|
3
|
-
Date: Mon, 08 Mar 2021 14:35:26 GMT
|
4
|
-
Content-Type: application/json; charset=utf-8
|
5
|
-
Connection: keep-alive
|
6
|
-
X-RateLimit-Limit: 2400
|
7
|
-
X-RateLimit-Remaining: 2397
|
8
|
-
X-RateLimit-Reset: 1615217645
|
9
|
-
ETag: W/"2104f27f2877f429295359cfc409f9f7"
|
10
|
-
Cache-Control: max-age=0, private, must-revalidate
|
11
|
-
X-Request-Id: b0d9e000-58a6-4254-af43-8735d26e12d9
|
12
|
-
X-Runtime: 9.129301
|
13
|
-
X-Frame-Options: DENY
|
14
|
-
X-Content-Type-Options: nosniff
|
15
|
-
X-XSS-Protection: 1; mode=block
|
16
|
-
X-Download-Options: noopen
|
17
|
-
X-Permitted-Cross-Domain-Policies: none
|
18
|
-
Content-Security-Policy: frame-ancestors 'none'
|
19
|
-
Strict-Transport-Security: max-age=31536000
|
20
|
-
|
21
|
-
{"data":{"domain":"bingo.pizza","premium":true,"registration_price":20.0,"renewal_price":20.0,"transfer_price":20.0}}
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx
|
3
|
+
Date: Mon, 08 Mar 2021 14:35:26 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
X-RateLimit-Limit: 2400
|
7
|
+
X-RateLimit-Remaining: 2397
|
8
|
+
X-RateLimit-Reset: 1615217645
|
9
|
+
ETag: W/"2104f27f2877f429295359cfc409f9f7"
|
10
|
+
Cache-Control: max-age=0, private, must-revalidate
|
11
|
+
X-Request-Id: b0d9e000-58a6-4254-af43-8735d26e12d9
|
12
|
+
X-Runtime: 9.129301
|
13
|
+
X-Frame-Options: DENY
|
14
|
+
X-Content-Type-Options: nosniff
|
15
|
+
X-XSS-Protection: 1; mode=block
|
16
|
+
X-Download-Options: noopen
|
17
|
+
X-Permitted-Cross-Domain-Policies: none
|
18
|
+
Content-Security-Policy: frame-ancestors 'none'
|
19
|
+
Strict-Transport-Security: max-age=31536000
|
20
|
+
|
21
|
+
{"data":{"domain":"bingo.pizza","premium":true,"registration_price":20.0,"renewal_price":20.0,"transfer_price":20.0,"restore_price":20.0}}
|
@@ -1,20 +1,19 @@
|
|
1
|
-
HTTP/1.1
|
1
|
+
HTTP/1.1 200 OK
|
2
2
|
Server: nginx
|
3
|
-
Date:
|
4
|
-
Content-Type: application/json
|
3
|
+
Date: Sun, 18 Feb 2024 10:48:05 GMT
|
4
|
+
Content-Type: application/json
|
5
|
+
Content-Length: 120
|
5
6
|
Connection: keep-alive
|
6
|
-
X-
|
7
|
-
|
8
|
-
X-
|
9
|
-
|
10
|
-
|
11
|
-
X-Request-Id: ba6f2707-5df0-4ffa-b91b-51d4460bab8e
|
12
|
-
X-Runtime: 13.571302
|
7
|
+
X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
|
8
|
+
Cache-Control: no-cache
|
9
|
+
X-Request-Id: 2a8d691f-f47e-4d41-9916-eba67e683914
|
10
|
+
X-Runtime: 0.004845
|
11
|
+
X-Frame-Options: DENY
|
13
12
|
X-Content-Type-Options: nosniff
|
13
|
+
X-XSS-Protection: 1; mode=block
|
14
14
|
X-Download-Options: noopen
|
15
|
-
X-Frame-Options: DENY
|
16
15
|
X-Permitted-Cross-Domain-Policies: none
|
17
|
-
|
18
|
-
Strict-Transport-Security: max-age=
|
16
|
+
Content-Security-Policy: frame-ancestors 'none'
|
17
|
+
Strict-Transport-Security: max-age=63072000
|
19
18
|
|
20
|
-
{"data":{"id":
|
19
|
+
{"data":{"id":43,"domain_id":214,"state":"new","created_at":"2024-02-14T14:40:42Z","updated_at":"2024-02-14T14:40:42Z"}}
|
@@ -2,7 +2,6 @@ HTTP/1.1 200 OK
|
|
2
2
|
Server: nginx
|
3
3
|
Date: Mon, 25 Jan 2021 13:56:24 GMT
|
4
4
|
Content-Type: application/json; charset=utf-8
|
5
|
-
Transfer-Encoding: identity
|
6
5
|
Connection: keep-alive
|
7
6
|
X-RateLimit-Limit: 4800
|
8
7
|
X-RateLimit-Remaining: 4766
|
@@ -19,4 +18,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
19
18
|
Content-Security-Policy: frame-ancestors 'none'
|
20
19
|
Strict-Transport-Security: max-age=31536000
|
21
20
|
|
22
|
-
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com"}}
|
21
|
+
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com","active":true}}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
HTTP/1.1 200
|
1
|
+
HTTP/1.1 200
|
2
2
|
server: nginx
|
3
3
|
date: Tue, 22 Aug 2023 11:13:58 GMT
|
4
4
|
content-type: application/json; charset=utf-8
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2392
|
7
|
+
X-RateLimit-Reset: 1692705338
|
8
8
|
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
9
|
etag: W/"76c5d4c7579b754b94a42ac7fa37a901"
|
10
10
|
cache-control: max-age=0, private, must-revalidate
|
@@ -12,4 +12,4 @@ x-request-id: e910cd08-3f9c-4da4-9986-50dbe9c3bc55
|
|
12
12
|
x-runtime: 0.022006
|
13
13
|
strict-transport-security: max-age=63072000
|
14
14
|
|
15
|
-
{"data":{"id":101,"account_id":101,"domain_id":101,"contact_id":101,"state":"new","extended_attributes":{},"registry_owner_change":true,"irt_lock_lifted_by":null,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}}
|
15
|
+
{"data":{"id":101,"account_id":101,"domain_id":101,"contact_id":101,"state":"new","extended_attributes":{},"registry_owner_change":true,"irt_lock_lifted_by":null,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}}
|
@@ -17,4 +17,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
17
17
|
X-XSS-Protection: 1; mode=block
|
18
18
|
Strict-Transport-Security: max-age=31536000
|
19
19
|
|
20
|
-
{"data":{"tld":"com","tld_type":1,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"ds"}}
|
20
|
+
{"data":{"tld":"com","tld_type":1,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13"}}
|
@@ -1,16 +1,16 @@
|
|
1
|
-
HTTP/1.1 200 OK
|
2
|
-
Server: nginx
|
3
|
-
Date: Mon, 15 Feb 2016 17:06:09 GMT
|
4
|
-
Content-Type: application/json; charset=utf-8
|
5
|
-
Connection: keep-alive
|
6
|
-
Status: 200 OK
|
7
|
-
X-RateLimit-Limit: 4000
|
8
|
-
X-RateLimit-Remaining: 3992
|
9
|
-
X-RateLimit-Reset: 1455559348
|
10
|
-
ETag: W/"cbb707ff6fc185d71f5a8df3110f1379"
|
11
|
-
Cache-Control: max-age=0, private, must-revalidate
|
12
|
-
X-Request-Id: 0109ea48-b7f0-4f78-a970-6866653b83eb
|
13
|
-
X-Runtime: 0.087618
|
14
|
-
Strict-Transport-Security: max-age=31536000
|
15
|
-
|
16
|
-
{"data":{"id":1,"url":"https://webhook.test"}}
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx
|
3
|
+
Date: Mon, 15 Feb 2016 17:06:09 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
Status: 200 OK
|
7
|
+
X-RateLimit-Limit: 4000
|
8
|
+
X-RateLimit-Remaining: 3992
|
9
|
+
X-RateLimit-Reset: 1455559348
|
10
|
+
ETag: W/"cbb707ff6fc185d71f5a8df3110f1379"
|
11
|
+
Cache-Control: max-age=0, private, must-revalidate
|
12
|
+
X-Request-Id: 0109ea48-b7f0-4f78-a970-6866653b83eb
|
13
|
+
X-Runtime: 0.087618
|
14
|
+
Strict-Transport-Security: max-age=31536000
|
15
|
+
|
16
|
+
{"data":{"id":1,"url":"https://webhook.test","suppressed_at":null}}
|
@@ -17,4 +17,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
17
17
|
X-XSS-Protection: 1; mode=block
|
18
18
|
Strict-Transport-Security: max-age=31536000
|
19
19
|
|
20
|
-
{"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","plan_identifier":"
|
20
|
+
{"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","plan_identifier":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
HTTP/1.1 400 Bad Request
|
2
2
|
Date: Tue, 24 Oct 2023 08:13:01 GMT
|
3
|
-
Connection: close
|
4
3
|
X-RateLimit-Limit: 2400
|
5
4
|
X-RateLimit-Remaining: 2392
|
6
5
|
X-RateLimit-Reset: 1698136677
|
@@ -9,6 +8,5 @@ X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
|
|
9
8
|
Cache-Control: no-cache
|
10
9
|
X-Request-Id: bdfbf3a7-d9dc-4018-9732-61502be989a3
|
11
10
|
X-Runtime: 0.455303
|
12
|
-
Transfer-Encoding: chunked
|
13
11
|
|
14
12
|
{"message":"Invalid date format must be ISO8601 (YYYY-MM-DD)"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
HTTP/1.1 403 Forbidden
|
2
2
|
Date: Tue, 24 Oct 2023 09:49:29 GMT
|
3
|
-
Connection: close
|
4
3
|
X-RateLimit-Limit: 2400
|
5
4
|
X-RateLimit-Remaining: 2398
|
6
5
|
X-RateLimit-Reset: 1698143967
|
@@ -9,6 +8,5 @@ X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
|
|
9
8
|
Cache-Control: no-cache
|
10
9
|
X-Request-Id: 5554e2d3-2652-4ca7-8c5e-92b4c35f28d6
|
11
10
|
X-Runtime: 0.035309
|
12
|
-
Transfer-Encoding: chunked
|
13
11
|
|
14
12
|
{"message":"Permission Denied. Required Scope: billing:*:read"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
HTTP/1.1 200 OK
|
2
2
|
Date: Tue, 24 Oct 2023 09:52:55 GMT
|
3
|
-
Connection: close
|
4
3
|
X-RateLimit-Limit: 2400
|
5
4
|
X-RateLimit-Remaining: 2397
|
6
5
|
X-RateLimit-Reset: 1698143967
|
@@ -9,6 +8,5 @@ X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
|
|
9
8
|
Cache-Control: no-store, must-revalidate, private, max-age=0
|
10
9
|
X-Request-Id: a57a87c8-626a-4361-9fb8-b55ca9be8e5d
|
11
10
|
X-Runtime: 0.060526
|
12
|
-
Transfer-Encoding: chunked
|
13
11
|
|
14
12
|
{"data":[{"invoiced_at":"2023-08-17T05:53:36Z","total_amount":"14.50","balance_amount":"0.00","reference":"1-2","state":"collected","items":[{"description":"Register bubble-registered.com","amount":"14.50","product_id":1,"product_type":"domain-registration","product_reference":"bubble-registered.com"}]},{"invoiced_at":"2023-08-17T05:57:53Z","total_amount":"14.50","balance_amount":"0.00","reference":"2-2","state":"refunded","items":[{"description":"Register example.com","amount":"14.50","product_id":2,"product_type":"domain-registration","product_reference":"example.com"}]},{"invoiced_at":"2023-10-24T07:49:05Z","total_amount":"1099999.99","balance_amount":"0.00","reference":"4-2","state":"collected","items":[{"description":"Test Line Item 1","amount":"99999.99","product_id":null,"product_type":"manual","product_reference":null},{"description":"Test Line Item 2","amount":"1000000.00","product_id":null,"product_type":"manual","product_reference":null}]}],"pagination":{"current_page":1,"per_page":30,"total_entries":3,"total_pages":1}}
|
@@ -13,4 +13,4 @@ X-Request-Id: e42df983-a8a5-4123-8c74-fb89ab934aba
|
|
13
13
|
X-Runtime: 0.025456
|
14
14
|
Strict-Transport-Security: max-age=63072000
|
15
15
|
|
16
|
-
{"data":[{"id":24809,"domain_id":235146,"alias_email":"
|
16
|
+
{"data":[{"id":24809,"domain_id":235146,"alias_email":".*@a-domain.com","destination_email":"jane.smith@example.com","created_at":"2017-05-25T19:23:16Z","updated_at":"2017-05-25T19:23:16Z","from":".*@a-domain.com","to":"jane.smith@example.com","active":true}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
HTTP/1.1 200
|
1
|
+
HTTP/1.1 200
|
2
2
|
server: nginx
|
3
3
|
date: Tue, 22 Aug 2023 11:12:49 GMT
|
4
4
|
content-type: application/json; charset=utf-8
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
X-RateLimit-Limit: 2400
|
6
|
+
X-RateLimit-Remaining: 2393
|
7
|
+
X-RateLimit-Reset: 1692705338
|
8
8
|
x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
|
9
9
|
etag: W/"0049703ea058b06346df4c0e169eac29"
|
10
10
|
cache-control: max-age=0, private, must-revalidate
|
@@ -12,4 +12,4 @@ x-request-id: fd0334ce-414a-4872-8889-e548e0b1410c
|
|
12
12
|
x-runtime: 0.030759
|
13
13
|
strict-transport-security: max-age=63072000
|
14
14
|
|
15
|
-
{"data":[{"id":101,"account_id":101,"domain_id":101,"contact_id":101,"state":"new","extended_attributes":{},"registry_owner_change":true,"irt_lock_lifted_by":null,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}
|
15
|
+
{"data":[{"id":101,"account_id":101,"domain_id":101,"contact_id":101,"state":"new","extended_attributes":{},"registry_owner_change":true,"irt_lock_lifted_by":null,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}
|
@@ -17,4 +17,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
17
17
|
X-XSS-Protection: 1; mode=block
|
18
18
|
Strict-Transport-Security: max-age=31536000
|
19
19
|
|
20
|
-
{"data":[{"tld":"ac","tld_type":2,"whois_privacy":false,"auto_renew_only":true,"idn":false,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":false,"dnssec_interface_type":"ds"},{"tld":"academy","tld_type":3,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"key"}],"pagination":{"current_page":1,"per_page":2,"total_entries":195,"total_pages":98}}
|
20
|
+
{"data":[{"tld":"ac","tld_type":2,"whois_privacy":false,"auto_renew_only":true,"idn":false,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":false,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13"},{"tld":"academy","tld_type":3,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"key","name_server_min":"2","name_server_max":"13"}],"pagination":{"current_page":1,"per_page":2,"total_entries":195,"total_pages":98}}
|